[Lutinutil-commits] r1015 - in trunk/maven-i18n-plugin: . src src/main/java/org/codelutin/i18n/plugin/core src/main/java/org/codelutin/i18n/plugin/extension src/site src/site/apt src/site/fml src/site/xdoc src/site/xdoc/fr src/site/xdoc/fr/rst
Author: tchemit Date: 2008-08-13 01:10:56 +0000 (Wed, 13 Aug 2008) New Revision: 1015 Added: trunk/maven-i18n-plugin/src/site/ trunk/maven-i18n-plugin/src/site/apt/ trunk/maven-i18n-plugin/src/site/apt/index.apt trunk/maven-i18n-plugin/src/site/apt/usage.apt trunk/maven-i18n-plugin/src/site/fml/ trunk/maven-i18n-plugin/src/site/fml/faq.fml trunk/maven-i18n-plugin/src/site/site.xml trunk/maven-i18n-plugin/src/site/xdoc/ trunk/maven-i18n-plugin/src/site/xdoc/fr/ trunk/maven-i18n-plugin/src/site/xdoc/fr/rst/ trunk/maven-i18n-plugin/src/site/xdoc/fr/rst/Todo.rst Modified: trunk/maven-i18n-plugin/pom.xml trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/core/Generate.java trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/core/Getter.java trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserJava.java trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserJavaActionConfig.java trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserJavaTabConfig.java trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserJaxx.java trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserSwixat.java Log: mise en place de lutinproject:2.4 pour un plugin avec un debut de site reajustement des goals pour toujours etre avant une phase compile Modified: trunk/maven-i18n-plugin/pom.xml =================================================================== --- trunk/maven-i18n-plugin/pom.xml 2008-08-12 22:56:14 UTC (rev 1014) +++ trunk/maven-i18n-plugin/pom.xml 2008-08-13 01:10:56 UTC (rev 1015) @@ -8,15 +8,16 @@ <!-- *** POM Relationships *************************************** --> <!-- ************************************************************* --> <parent> - <groupId>lutinlib</groupId> + <groupId>org.codelutin</groupId> <artifactId>lutinproject</artifactId> - <version>2.3</version> + <version>2.4</version> </parent> <groupId>lutinplugin</groupId> <artifactId>maven-i18n-plugin</artifactId> <dependencies> + <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId> @@ -57,34 +58,13 @@ <!-- *** Project Information ************************************* --> <!-- ************************************************************* --> <name>Plugin maven pour lutini18n</name> - <version>0.4</version> + <version>0.4-SNAPSHOT</version> <description> Plugin pour maven 2 pour la génération des bundles pour l'internationnalisation des applications java fait par lutinutil-i18n </description> <inceptionYear>2007</inceptionYear> - <contributors> - <contributor> - <name>Julien Ruchaud</name> - <email>ruchaud@codelutin.com</email> - <organization>Code Lutin</organization> - <timezone>+2</timezone> - <roles> - <role>Developer</role> - </roles> - </contributor> - <contributor> - <name>Tony Chemit</name> - <email>chemit@codelutin.com</email> - <organization>Code Lutin</organization> - <timezone>+2</timezone> - <roles> - <role>Developer</role> - </roles> - </contributor> - </contributors> - <!-- ************************************************************* --> <!-- *** Build Settings ****************************************** --> <!-- ************************************************************* --> @@ -94,32 +74,15 @@ <build> <plugins> - <!-- source--> <plugin> <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-source-plugin</artifactId> - <executions> - <execution> - <phase>verify</phase> - <goals> - <goal>jar</goal> - </goals> - </execution> - </executions> + <artifactId>maven-plugin-plugin</artifactId> </plugin> - <!-- javadoc --> + <!-- jrst --> <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-javadoc-plugin</artifactId> - <executions> - <execution> - <phase>verify</phase> - <goals> - <goal>jar</goal> - </goals> - </execution> - </executions> + <groupId>lutinplugin</groupId> + <artifactId>maven-jrst-plugin</artifactId> </plugin> </plugins> @@ -130,61 +93,17 @@ <!-- id du projet du labs --> <labs.id>12</labs.id> + <!-- nom du projet sur le labs , il est egal a artifactId donc pas besoin de surcharger --> <labs.project>lutinutil</labs.project> - <!-- compile with ? --> - <maven.compile.source>1.6</maven.compile.source> - <maven.compile.target>1.6</maven.compile.target> - <maven.compile.encoding>UTF-8</maven.compile.encoding> + <!-- override this property to define scm url property --> + <maven.scm.url>https://${labs.host}/plugins/scmsvn/viewcvs.php/trunk/${pom.artifactId}?root=${labs.project} + </maven.scm.url> - <!-- Lists URL --> - <labs.lists> - http://lists.labs.libre-entreprise.org/mailman/listinfo/lutinutil - </labs.lists> - - <!-- maven will suffix with /${pom.artifactId} --> - <maven.scm.developerConnection>scm:svn:svn+ssh://${username}@${labs.host}/svnroot/lutinutil/trunk - </maven.scm.developerConnection> - - <!-- maven will suffix with /${pom.artifactId} --> - <maven.scm.connection>scm:svn:svn:anonymous@${labs.host}/svnroot/lutinutil/trunk</maven.scm.connection> - </properties> - <profiles> - <profile> - <id>project</id> - <activation> - <activeByDefault>true</activeByDefault> - </activation> - <properties> - <!-- test (par defaut, on ne les execute pas) --> - <maven.test.skip>true</maven.test.skip> - <maven.reports.generate>false</maven.reports.generate> - </properties> - </profile> - <profile> - <id>tests</id> - <activation> - <activeByDefault>false</activeByDefault> - </activation> - <properties> - <!-- test (par defaut, on les execute) --> - <maven.test.skip>false</maven.test.skip> - <maven.reports.generate>false</maven.reports.generate> - </properties> - </profile> - <profile> - <id>site</id> - <activation> - <activeByDefault>false</activeByDefault> - </activation> - <properties> - <!-- test (par defaut, on ne les execute pas) --> - <maven.test.skip>true</maven.test.skip> - <maven.reports.generate>true</maven.reports.generate> - </properties> - </profile> - </profiles> + <scm> + <url>${maven.scm.url}</url> + </scm> </project> Modified: trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/core/Generate.java =================================================================== --- trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/core/Generate.java 2008-08-12 22:56:14 UTC (rev 1014) +++ trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/core/Generate.java 2008-08-13 01:10:56 UTC (rev 1015) @@ -34,7 +34,7 @@ * * @author julien * @goal gen - * @phase process-resources + * @phase generate-resources * @execute goal=get */ public class Generate extends AbstractI18nPlugin { Modified: trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/core/Getter.java =================================================================== --- trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/core/Getter.java 2008-08-12 22:56:14 UTC (rev 1014) +++ trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/core/Getter.java 2008-08-13 01:10:56 UTC (rev 1015) @@ -32,7 +32,7 @@ * * @author julien * @goal get - * @phase process-resources + * @phase generate-resources */ public class Getter extends AbstractI18nPlugin { Modified: trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserJava.java =================================================================== --- trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserJava.java 2008-08-12 22:56:14 UTC (rev 1014) +++ trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserJava.java 2008-08-13 01:10:56 UTC (rev 1015) @@ -35,38 +35,36 @@ * * @author julien * @goal parserJava - * @phase process-resources + * @phase generate-resources */ public class ParserJava extends AbstractI18nParser { /** - * @description Source entries (src+includes+excludes) . + * Source entries (src+includes+excludes) . * @parameter expression="${i18n.defaultIncludes}" default-value="**\\/*.java" */ protected String defaultIncludes; /** - * @description default src for an entry. + * default src for an entry. * @parameter expression="${i18n.defaultBasedir}" default-value="${basedir}/src/java" */ protected File defaultBasedir; /** - * @description Dependance du projet. + * Dependance du projet. * @parameter default-value="${project}" * @readonly */ protected MavenProject project; /** - * @description Repertoire sources des fichiers i18n. + * Repertoire sources des fichiers i18n. * @parameter expression="${i18n.cp}" default-value="${basedir}/target/classes" * @required */ protected File cp; - //protected List<String> annotationClass; - @Override protected String[] getDefaultIncludes() { return new String[]{defaultIncludes}; @@ -99,9 +97,6 @@ protected I18nFilter filter; - //protected URLClassLoader loader; - //protected Annotation annotation; - @Override public void init() { super.init(); @@ -116,11 +111,6 @@ return clazz.exists() && file1.lastModified() < clazz.lastModified(); } - /* - * (non-Javadoc) - * @see org.codelutin.i18n.plugin.core.Parser#parseFile(java.io.File) - */ - @Override public void parseFile(File srcFile) { try { Modified: trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserJavaActionConfig.java =================================================================== --- trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserJavaActionConfig.java 2008-08-12 22:56:14 UTC (rev 1014) +++ trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserJavaActionConfig.java 2008-08-13 01:10:56 UTC (rev 1015) @@ -29,7 +29,7 @@ * * @author chemit * @goal parserJavaActionConfig - * @phase process-resources + * @phase generate-resources */ public class ParserJavaActionConfig extends ParserJava { Modified: trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserJavaTabConfig.java =================================================================== --- trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserJavaTabConfig.java 2008-08-12 22:56:14 UTC (rev 1014) +++ trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserJavaTabConfig.java 2008-08-13 01:10:56 UTC (rev 1015) @@ -19,7 +19,7 @@ * * @author chemit * @goal parserJavaTabConfig - * @phase process-resources + * @phase generate-resources */ public class ParserJavaTabConfig extends ParserJavaActionConfig { Modified: trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserJaxx.java =================================================================== --- trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserJaxx.java 2008-08-12 22:56:14 UTC (rev 1014) +++ trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserJaxx.java 2008-08-13 01:10:56 UTC (rev 1015) @@ -26,7 +26,7 @@ * * @author julien * @goal parserJaxx - * @phase process-resources + * @phase generate-resources */ public class ParserJaxx extends ParserXml { Modified: trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserSwixat.java =================================================================== --- trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserSwixat.java 2008-08-12 22:56:14 UTC (rev 1014) +++ trunk/maven-i18n-plugin/src/main/java/org/codelutin/i18n/plugin/extension/ParserSwixat.java 2008-08-13 01:10:56 UTC (rev 1015) @@ -26,7 +26,7 @@ * * @author julien * @goal parserSwixat - * @phase process-resources + * @phase generate-resources */ public class ParserSwixat extends ParserXml { Added: trunk/maven-i18n-plugin/src/site/apt/index.apt =================================================================== --- trunk/maven-i18n-plugin/src/site/apt/index.apt (rev 0) +++ trunk/maven-i18n-plugin/src/site/apt/index.apt 2008-08-13 01:10:56 UTC (rev 1015) @@ -0,0 +1,39 @@ + ------ + Introduction + ------ + Tony Chemit + ------ + August 2008 + ------ + +Maven 2 I18n Plugin + + The Maven 2 I18n Plugin is used to compute i18n bundles for a given maven module. + +* Goals Overview + + The I18n plugin has the following goals: + + * {{{parserJava-mojo.html}i18n:parserJava}} parse Java sources. + + * {{{parserJaxx-mojo.html}i18n:parserJaxx}} parse Jaxx sources. + + * {{{parserSwixat-mojo.html}i18n:parserSwixat}} parse Jaxx sources. + + * {{{parserJavaActionConfig-mojo.html}i18n:parserJavaActionConfig}} parse des actions jaxx. + + * {{{parserJavaTabConfig-mojo.html}i18n:parserJavaTabConfig}} parse des onglets jaxx. + + * {{{get-mojo.html}i18n:get}} assembly getter computed by parser-like goals. + + * {{{gen-mojo.html}i18n:gen}} generate i18n bundle from getters. + + * {{{help-mojo.html}i18n:help}} display help. + +* Usage + + Instructions on how to use the Help Plugin can be found {{{usage.html}here}}. + +* Examples + + to be done. Added: trunk/maven-i18n-plugin/src/site/apt/usage.apt =================================================================== --- trunk/maven-i18n-plugin/src/site/apt/usage.apt (rev 0) +++ trunk/maven-i18n-plugin/src/site/apt/usage.apt 2008-08-13 01:10:56 UTC (rev 1015) @@ -0,0 +1,27 @@ + ------ + Usage + ------ + Tony Chemit + ------ + August 2008 + ------ + +Usage + + Below are the different goals and configurations of the I18n plugin. + + +* The <<<parserJava>>> Mojo + + The <<<parserJava>>> mojo is used to discover i18n entries from java source files. + + You can execute this mojo using the following command for a simple java project with no generation : + ++-----+ +mvn i18n:parserJava ++-----+ + + +* The <<<i18n:get>>> Mojo + +To be done. Added: trunk/maven-i18n-plugin/src/site/fml/faq.fml =================================================================== --- trunk/maven-i18n-plugin/src/site/fml/faq.fml (rev 0) +++ trunk/maven-i18n-plugin/src/site/fml/faq.fml 2008-08-13 01:10:56 UTC (rev 1015) @@ -0,0 +1,33 @@ +<?xml version="1.0"?> + +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + +<faqs id="FAQ" title="Frequently Asked Questions"> + <part id="General"> + <faq id="Test question?"> + <question>test question?</question> + <answer> + <p> + The first answer :) + </p> + </answer> + </faq> + </part> +</faqs> \ No newline at end of file Added: trunk/maven-i18n-plugin/src/site/site.xml =================================================================== --- trunk/maven-i18n-plugin/src/site/site.xml (rev 0) +++ trunk/maven-i18n-plugin/src/site/site.xml 2008-08-13 01:10:56 UTC (rev 1015) @@ -0,0 +1,56 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="${project.name}"> + + <skin> + <groupId>lutinlib</groupId> + <artifactId>lutin-site-skin</artifactId> + <version>0.1</version> + </skin> + + <bannerLeft> + <name>${project.name}</name> + </bannerLeft> + + <bannerRight> + <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src> + <href>${project.organization.url}</href> + </bannerRight> + + <poweredBy> + <logo href="http://maven.apache.org" name="Maven" img="images/logos/maven-feather.png"/> + <logo href="http://jrst.labs.libre-entreprise.org" name="JRst" img="images/jrst-logo.png"/> + <logo href="http://docutils.sourceforge.net/rst.html" name="ReStructuredText" + img="images/restructuredtext-logo.png"/> + </poweredBy> + + <body> + <links> + <item name="Labs" href="http://labs.libre-entreprise.org/"/> + <item name="${project.organization.name}" href="${project.organization.url}"/> + </links> + + <menu name="Utilisateur"> + <item name="Introduction" href="index.html"/> + <item name="Goals" href="plugin-info.html"/> + <item name="Usage" href="usage.html"/> + <item name="FAQ" href="faq.html"/> + </menu> + <menu name="Examples"> + <item name="Simplest example Configuring Describe Mojo" href="/examples/describe-configuration.html"/> + </menu> + + <menu name="Téléchargement"> + <item href="${labs.builder.url}/lutinplugin/${project.artifactId}/${project.version}" + name="Télécharger la dernière version"/> + <item href="${labs.builder.url}/lutinplugin/${project.artifactId}" + name="Voir toutes les versions"/> + </menu> + + <menu name="Développeur"> + <item name="A faire" href="Todo.html"/> + </menu> + + <menu ref="reports"/> + + </body> +</project> Added: trunk/maven-i18n-plugin/src/site/xdoc/fr/rst/Todo.rst =================================================================== --- trunk/maven-i18n-plugin/src/site/xdoc/fr/rst/Todo.rst (rev 0) +++ trunk/maven-i18n-plugin/src/site/xdoc/fr/rst/Todo.rst 2008-08-13 01:10:56 UTC (rev 1015) @@ -0,0 +1,80 @@ +Un nouveau parser d'argument +============================ + +L'idée est d'avoir une description simple des arguments et de leur type et +que soit généré une classe à partir de cette description. Dans le +programme il suffirat de demander à la classe généré les inforamtions. + +Les options sont chargées par leur valeur par defaut, puis sont surchargées +par les valeurs des fichiers de configurations, puis surchargé +par les valeurs des variables d'environnement, et enfin surchargé par les +valeurs de la ligne de commande. + +Les fichiers de configuraiton sont lu dans l'ordre suivant: /etc/ + chemin +indiqué, puis $HOME/. + chemin indiqué. + +si le chemin indiqué est titi/toto.conf et que l'on est sur un système Linux +les fichiers de configuration seront: /etc/titi/toto.conf et +~/.titi/toto.conf + +exemple de description +---------------------- + +Par exemple on pourrait avoir le fichier Toto.java.conf dans les sources du +projet qui fournirait le fichier Toto.java:: + + configfile: titi/toto.conf + + outFile: le fichier de sortie + short: o + long: outfile + default: - + type: File + environment: toto + + number: Le nombre de fichier à produire + required: 1 + short: n + default: 1 + long: number + condition: 0<Number && Number<10 + type: int + +La description commence l'option non obligatoire *configfile* qui donne le +nom du fichier de configuration à utiliser pour l'application. Puis on +trouve les options. Une option commence par un nom, puis sa description +ensuite l'option peut avoir plusieurs options: + +- short: l'option courte sur la ligne de commande. Si absente pas d'option + courte +- long: l'option longue sur la ligne de commande, si pas d'option, on + reprend le nom de l'option +- type: le type de l'option (int, Float, String, char, File, ...) +- default: la valeur par default, si elle n'est pas specifier sur la ligne + de commande, ni dans les variables d'environnement ni dans le fichier de + configuration. Pour une option de type File si default faut -, alors + le fichier est la sortie standard. +- condition: la condition que doit respecter l'option pour être valide + la condition est une expression java contenant le nom de l'option comme + valeur de variable. +- environment: le nom de la variable d'environnement qu'il faut utiliser + si l'option n'est pas retrouve sur la ligne de commande. Si cette option + n'est pas indiqué alors, la variable d'environnement recherchée est le nom + du fichier de description suivi d'un point, suivi du nom de l'option. + par exemple toto.outfile + + +L'objet résultat sera Toto placé dans le fichier Toto.java. L'extension +java.conf est obligatoire pour détecter un fichier de configuration à +parser. Cet objet aurai les méthodes getOutputFile():File et getNumber():int + +Librairies utilisé +------------------ + +Sans doute utilisé, le parser redwood pour le fichier de configuration +http://www.isellrenohomes.com/parser/. Il lit directement des EBNF. + +projet de parsage d'argument +---------------------------- + +http://www.martiansoftware.com/jsap/
participants (1)
-
tchemit@users.labs.libre-entreprise.org