Author: tchemit Date: 2008-07-31 13:17:21 +0000 (Thu, 31 Jul 2008) New Revision: 806 Added: trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/ActionAnnotationProcessing.java trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/ActionProviderAnnotation.java trunk/lutinjaxx/jaxx-swing-action/src/main/resources/META-INF/ trunk/lutinjaxx/jaxx-swing-action/src/main/resources/META-INF/services/ trunk/lutinjaxx/jaxx-swing-action/src/main/resources/META-INF/services/javax.annotation.processing.Processor Modified: trunk/lutinjaxx/core/pom.xml trunk/lutinjaxx/jaxx-swing-action/pom.xml trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/ActionConfig.java trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/SelectActionConfig.java trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/ToggleActionConfig.java trunk/lutinjaxx/jaxx-swing-tab/pom.xml trunk/lutinjaxx/jaxx-swing/pom.xml trunk/lutinjaxx/maven/pom.xml trunk/lutinjaxx/maven/src/main/java/org/codelutin/jaxx/AbstractActionGeneratorMojo.java trunk/lutinjaxx/maven/src/main/java/org/codelutin/jaxx/ActionGeneratorMojo.java trunk/lutinjaxx/maven/src/main/java/org/codelutin/jaxx/ActionProviderGeneratorMojo.java trunk/lutinjaxx/pom.xml trunk/lutinjaxx/runtime/pom.xml trunk/lutinjaxx/util/pom.xml Log: mise en place de la version 0.3 avec utilisation d'un processor d'annotation pour traiter les jaxx-actions plutot qu'un plugin maven. Du coup on travaille uniquement par annotation, plus aucune autre config n?\195?\169cessaire dans maven :) Modified: trunk/lutinjaxx/core/pom.xml =================================================================== --- trunk/lutinjaxx/core/pom.xml 2008-07-28 10:16:27 UTC (rev 805) +++ trunk/lutinjaxx/core/pom.xml 2008-07-31 13:17:21 UTC (rev 806) @@ -7,14 +7,14 @@ <parent> <groupId>org.codelutin.jaxx</groupId> <artifactId>pom</artifactId> - <version>0.2-SNAPSHOT</version> + <version>0.3</version> </parent> <artifactId>core</artifactId> <name>core</name> <packaging>jar</packaging> - <version>0.2-SNAPSHOT</version> + <version>0.3</version> <description>Jaxx lutin library core</description> <build> Modified: trunk/lutinjaxx/jaxx-swing/pom.xml =================================================================== --- trunk/lutinjaxx/jaxx-swing/pom.xml 2008-07-28 10:16:27 UTC (rev 805) +++ trunk/lutinjaxx/jaxx-swing/pom.xml 2008-07-31 13:17:21 UTC (rev 806) @@ -7,14 +7,14 @@ <parent> <groupId>org.codelutin.jaxx</groupId> <artifactId>pom</artifactId> - <version>0.2-SNAPSHOT</version> + <version>0.3</version> </parent> <artifactId>jaxx-swing</artifactId> <name>jaxx-swing</name> <packaging>jar</packaging> - <version>0.2-SNAPSHOT</version> + <version>0.3</version> <description>Jaxx library swing extension</description> <dependencies> Modified: trunk/lutinjaxx/jaxx-swing-action/pom.xml =================================================================== --- trunk/lutinjaxx/jaxx-swing-action/pom.xml 2008-07-28 10:16:27 UTC (rev 805) +++ trunk/lutinjaxx/jaxx-swing-action/pom.xml 2008-07-31 13:17:21 UTC (rev 806) @@ -7,19 +7,26 @@ <parent> <groupId>org.codelutin.jaxx</groupId> <artifactId>pom</artifactId> - <version>0.2-SNAPSHOT</version> + <version>0.3</version> </parent> <artifactId>jaxx-swing-action</artifactId> <name>jaxx-swing-action</name> <packaging>jar</packaging> - <version>0.2-SNAPSHOT</version> + <version>0.3</version> <description>Jaxx lutin library swing actions extension</description> <build> <plugins> <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <compilerArgument>-proc:none</compilerArgument> + </configuration> + </plugin> + <plugin> <groupId>lutinplugin</groupId> <artifactId>maven-i18n-plugin</artifactId> <executions> @@ -43,5 +50,12 @@ <scope>compile</scope> </dependency> + <dependency> + <groupId>jboss</groupId> + <artifactId>javassist</artifactId> + <version>3.7.ga</version> + <scope>compile</scope> + </dependency> + </dependencies> </project> Added: trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/ActionAnnotationProcessing.java =================================================================== --- trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/ActionAnnotationProcessing.java (rev 0) +++ trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/ActionAnnotationProcessing.java 2008-07-31 13:17:21 UTC (rev 806) @@ -0,0 +1,285 @@ +/** + * # #% Copyright (C) 2008 Code Lutin, Tony Chemit + * This program is free software; you + * can redistribute it and/or modify it under the terms of the GNU General + * Public License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. This program is + * distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU General Public License for more details. You + * should have received a copy of the GNU General Public License along with this + * program; if not, write to the Free Software Foundation, Inc., 59 Temple Place + * - Suite 330, Boston, MA 02111-1307, USA. + * # #% + */ + + +package org.codelutin.jaxx.action; + +import javassist.CannotCompileException; +import javassist.ClassPool; +import javassist.CtClass; +import javassist.CtConstructor; +import javassist.LoaderClassPath; +import javassist.NotFoundException; +import org.codelutin.jaxx.action.provider.ActionProvider; +import org.codelutin.jaxx.action.provider.ActionProviderFromProperties; +import org.codelutin.util.SortedProperties; + +import javax.annotation.processing.AbstractProcessor; +import javax.annotation.processing.ProcessingEnvironment; +import javax.annotation.processing.RoundEnvironment; +import javax.annotation.processing.SupportedAnnotationTypes; +import javax.annotation.processing.SupportedOptions; +import javax.annotation.processing.SupportedSourceVersion; +import javax.lang.model.SourceVersion; +import javax.lang.model.element.AnnotationMirror; +import javax.lang.model.element.AnnotationValue; +import javax.lang.model.element.AnnotationValueVisitor; +import javax.lang.model.element.Element; +import javax.lang.model.element.ExecutableElement; +import javax.lang.model.element.TypeElement; +import javax.lang.model.type.TypeMirror; +import javax.lang.model.util.SimpleAnnotationValueVisitor6; +import javax.tools.FileObject; +import javax.tools.JavaFileObject; +import javax.tools.StandardLocation; +import java.io.BufferedWriter; +import java.io.IOException; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.Map.Entry; +import java.util.Properties; +import java.util.Set; + + +@SupportedAnnotationTypes(value = {"org.codelutin.jaxx.action.*"}) +@SupportedSourceVersion(SourceVersion.RELEASE_6) +@SupportedOptions({"jaxx.verbose"}) +/** + * Annotation processor to compute actions mapping. + * + * @author chemit */ +public class ActionAnnotationProcessing extends AbstractProcessor { + + protected ActionProviderAnnotation providerConfig; + + protected String providerDeclarationLocation = "META-INF/services/" + ActionProvider.class.getName(); + + protected String actionsFileLocation = "META-INF/jaxx-%1$s-actions.properties"; + + protected boolean verbose; + + protected java.util.List<String> processedClass; + + protected Properties actions; + + protected AnnotationValueVisitor<Object, Void> annotationValueExtractor; + + protected TypeElement baseActionElement; + + @Override + public synchronized void init(ProcessingEnvironment processingEnv) { + super.init(processingEnv); + parseOptions(); + printDebug("verbose : " + verbose); + printDebug("FileLocation : " + actionsFileLocation); + processedClass = new ArrayList<String>(); + actions = new SortedProperties(); + } + + @Override + public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { + for (TypeElement annotation : annotations) { + + Set<? extends Element> annotatedWith = roundEnv.getElementsAnnotatedWith(annotation); + + if (annotation.getQualifiedName().toString().equals(ActionProviderAnnotation.class.getName())) { + // init provider + if (annotatedWith.size() != 1) { + throw new IllegalStateException("can have only one provider defined by the annotation " + ActionProviderAnnotation.class); + } + + baseActionElement = (TypeElement) annotatedWith.iterator().next(); + + //fixme CheckbaseActionElement is assigned from MyAbstractAction + //if (!baseActionElement.getSuperclass()) ... + + providerConfig = baseActionElement.getAnnotation(ActionProviderAnnotation.class); + + actionsFileLocation = String.format(actionsFileLocation, providerConfig.name()); + continue; + } + + for (Element e : annotatedWith) { + String className = e.toString(); + + if (processedClass.contains(className)) { + // do not process class twice + continue; + } + printDebug("process class " + className); + registerActionsForClass(annotation.asType(), e); + processedClass.add(className); + } + } + + if ((roundEnv.processingOver())) { + if (providerConfig == null) { + throw new IllegalStateException("no provider name found, you must add on baseaction the annotation " + ActionProviderAnnotation.class); + } + try { + writeProviderClass(); + writeProviderServiceDeclaration(); + writeActionMapping(); + } catch (Exception e) { + throw new RuntimeException(e); + } finally { + processedClass.clear(); + actions.clear(); + } + } + + return false; + } + + protected void registerActionsForClass(TypeMirror annotationType, Element e) { + for (AnnotationMirror mirror : e.getAnnotationMirrors()) { + if (!mirror.getAnnotationType().equals(annotationType)) { + // do not treate other annotations + continue; + } + for (String name : getActionNames(mirror)) { + actions.put("action." + name, e.toString()); + } + } + } + + protected void parseOptions() { + java.util.Map options = processingEnv.getOptions(); + verbose = options.containsKey("jaxx.verbose"); + } + + protected void writeProviderClass() throws IOException, NotFoundException, CannotCompileException, ClassNotFoundException { + OutputStream outputStream = null; + try { + String fqn = providerConfig.fqn(); + + ClassPool pool = ClassPool.getDefault(); + + pool.appendClassPath(new LoaderClassPath(ActionProviderFromProperties.class.getClassLoader())); + + CtClass superClass = pool.get(ActionProviderFromProperties.class.getName()); + CtClass clazz = pool.makeClass(fqn); + // define the base action class in javassist pool to make possible compilation + pool.makeClass(baseActionElement.asType().toString()); + clazz.setSuperclass(superClass); + // add constructor + CtConstructor constructor = new CtConstructor(null, clazz); + constructor.setBody("super(\"" + providerConfig.name() + "\"," + baseActionElement.asType().toString() + ".class,\"/" + actionsFileLocation + "\");"); + clazz.addConstructor(constructor); + byte[] byteCode = clazz.toBytecode(); + + JavaFileObject fo = processingEnv.getFiler().createClassFile(fqn); + printInfo("writing " + fo.toUri()); + outputStream = fo.openOutputStream(); + outputStream.write(byteCode); + + } finally { + if (outputStream != null) + outputStream.close(); + } + } + + protected void writeProviderServiceDeclaration() throws IOException { + BufferedWriter w = null; + try { + FileObject fo = processingEnv.getFiler().createResource(StandardLocation.SOURCE_OUTPUT, "", providerDeclarationLocation); + printInfo("writing " + fo.toUri()); + w = new BufferedWriter(fo.openWriter()); + w.append("# generated by ").append(getClass().getName()).append("\n").toString(); + w.append("#").append(new java.util.Date().toString()).append("\n").toString(); + w.append(providerConfig.fqn()); + } finally { + if (w != null) + w.close(); + } + } + + protected void writeActionMapping() throws IOException { + BufferedWriter w = null; + try { + FileObject fo = processingEnv.getFiler().createResource(StandardLocation.SOURCE_OUTPUT, "", actionsFileLocation); + printInfo("writing " + fo.toUri()); + w = new BufferedWriter(fo.openWriter()); + actions.store(w, "generated by " + getClass().getName()); + } finally { + if (w != null) + w.close(); + } + } + + /** + * Obtain the array of names to be used by the annotation + * + * @param element the dictonnary of values found in a annotation + * @return thee array of names detected in the annotation + */ + @SuppressWarnings({"unchecked"}) + protected String[] getActionNames(AnnotationMirror element) { + String[] result = null; + for (Entry<? extends ExecutableElement, ? extends AnnotationValue> entry : element.getElementValues().entrySet()) { + ExecutableElement type = entry.getKey(); + String name = type.getSimpleName().toString(); + + if ("multiNames".equals(name)) { + List<String> stringList = (List<String>) entry.getValue().accept(getAnnotationValueExtractor(), null); + result = stringList.toArray(new String[stringList.size()]); + // a multiNames field means + break; + } + if ("actionCommand".equals(name)) { + result = new String[]{(String) entry.getValue().accept(getAnnotationValueExtractor(), null)}; + } + } + + return result; + } + + protected AnnotationValueVisitor<Object, Void> getAnnotationValueExtractor() { + if (annotationValueExtractor == null) { + annotationValueExtractor = new SimpleAnnotationValueVisitor6<Object, Void>() { + + @Override + protected Object defaultAction(Object o, Void aVoid) { + return o; + } + + @Override + public Object visitArray(List<? extends AnnotationValue> vals, Void aVoid) { + List<Object> realVals = new java.util.ArrayList<Object>(); + for (AnnotationValue val : vals) { + realVals.add(val.accept(this, aVoid)); + } + return realVals; + } + }; + } + return annotationValueExtractor; + } + + protected void printWarning(String msg) { + System.out.println("[WARN] " + getClass().getName() + " : " + msg); + } + + protected void printInfo(String msg) { + System.out.println("[INFO] " + getClass().getName() + " : " + msg); + } + + protected void printDebug(String msg) { + if (verbose) { + System.out.println("[DEBUG] " + getClass().getName() + " : " + msg); + } + } +} Modified: trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/ActionConfig.java =================================================================== --- trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/ActionConfig.java 2008-07-28 10:16:27 UTC (rev 805) +++ trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/ActionConfig.java 2008-07-31 13:17:21 UTC (rev 806) @@ -19,6 +19,7 @@ package org.codelutin.jaxx.action; import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @@ -35,79 +36,79 @@ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) - +@Inherited public @interface ActionConfig { /** * @return la clef de la commande (doit �tre unique) * @see javax.swing.Action#ACTION_COMMAND_KEY */ - public abstract String actionCommand(); + public String actionCommand(); /** * @return la clef i18n du texte de l'action, si vide ignor� * @see javax.swing.Action#NAME */ - public abstract String name() default ""; + String name() default ""; /** * @return la clef i18n du tooltip de l'action, si vide ignor� * @see javax.swing.Action#SHORT_DESCRIPTION */ - public abstract String shortDescription() default ""; + String shortDescription() default ""; /** * @return la clef i18n du texte de l'action, si vide ignor� * @see javax.swing.Action#LONG_DESCRIPTION */ - public abstract String longDescription() default ""; + String longDescription() default ""; /** * @return le nom de l'icone associ�, si vide ignor� * @see javax.swing.Action#SMALL_ICON */ - public abstract String smallIcon() default ""; + String smallIcon() default ""; /** * @return le nom du grande icone associ�, si vide ignor� * @see javax.swing.Action#LARGE_ICON_KEY */ - public abstract String largeIcon() default ""; + String largeIcon() default ""; /** * @return accelerator * @see javax.swing.Action#ACCELERATOR_KEY */ - public abstract String accelerator() default ""; + String accelerator() default ""; /** * @return mnemonic key * @see javax.swing.Action#MNEMONIC_KEY */ - public abstract int mnemonic() default '\0'; + int mnemonic() default '\0'; /** * @return mnemonic key index * @see javax.swing.Action#DISPLAYED_MNEMONIC_INDEX_KEY */ - public abstract int displayedMnemonicIndex() default '\0'; + int displayedMnemonicIndex() default '\0'; /** * @return la valeur par d�faut pour les component selectable * @see javax.swing.Action#SELECTED_KEY */ - public abstract boolean selected() default false; + boolean selected() default false; /** * @return enabled state * @see javax.swing.Action#isEnabled() */ - public abstract boolean enabled() default true; + boolean enabled() default true; /** @return hideActionText state */ - public abstract boolean hideActionText() default false; + boolean hideActionText() default false; /** @return array of names to be used in actions mapping */ - public abstract String[] multiNames() default {}; + String[] multiNames() default {}; } \ No newline at end of file Added: trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/ActionProviderAnnotation.java =================================================================== --- trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/ActionProviderAnnotation.java (rev 0) +++ trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/ActionProviderAnnotation.java 2008-07-31 13:17:21 UTC (rev 806) @@ -0,0 +1,41 @@ +/** + * # #% Copyright (C) 2008 Code Lutin, Tony Chemit + * This program is free software; you + * can redistribute it and/or modify it under the terms of the GNU General + * Public License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. This program is + * distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU General Public License for more details. You + * should have received a copy of the GNU General Public License along with this + * program; if not, write to the Free Software Foundation, Inc., 59 Temple Place + * - Suite 330, Boston, MA 02111-1307, USA. + * # #% + */ +package org.codelutin.jaxx.action; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Pour enregister un provider d'action. + * <p/> + * Placer cette annotation sur la classe de base d'action, + * <p/> + * + * @author chemit + */ +@Retention(RetentionPolicy.RUNTIME) + +@Target(ElementType.TYPE) +public @interface ActionProviderAnnotation { + + /** @return le nom du provider */ + String name(); + + /** @return le nom qualifie duprovider a generer */ + String fqn(); + +} Modified: trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/SelectActionConfig.java =================================================================== --- trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/SelectActionConfig.java 2008-07-28 10:16:27 UTC (rev 805) +++ trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/SelectActionConfig.java 2008-07-31 13:17:21 UTC (rev 806) @@ -19,6 +19,7 @@ package org.codelutin.jaxx.action; import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @@ -35,7 +36,7 @@ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) - +@Inherited public @interface SelectActionConfig { /** Modified: trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/ToggleActionConfig.java =================================================================== --- trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/ToggleActionConfig.java 2008-07-28 10:16:27 UTC (rev 805) +++ trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/ToggleActionConfig.java 2008-07-31 13:17:21 UTC (rev 806) @@ -19,6 +19,7 @@ package org.codelutin.jaxx.action; import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @@ -33,9 +34,8 @@ * @author chemit */ @Retention(RetentionPolicy.RUNTIME) - @Target(ElementType.TYPE) - +@Inherited public @interface ToggleActionConfig { /** * @return la clef de la commande (doit �tre unique) Added: trunk/lutinjaxx/jaxx-swing-action/src/main/resources/META-INF/services/javax.annotation.processing.Processor =================================================================== --- trunk/lutinjaxx/jaxx-swing-action/src/main/resources/META-INF/services/javax.annotation.processing.Processor (rev 0) +++ trunk/lutinjaxx/jaxx-swing-action/src/main/resources/META-INF/services/javax.annotation.processing.Processor 2008-07-31 13:17:21 UTC (rev 806) @@ -0,0 +1 @@ +org.codelutin.jaxx.action.ActionAnnotationProcessing \ No newline at end of file Modified: trunk/lutinjaxx/jaxx-swing-tab/pom.xml =================================================================== --- trunk/lutinjaxx/jaxx-swing-tab/pom.xml 2008-07-28 10:16:27 UTC (rev 805) +++ trunk/lutinjaxx/jaxx-swing-tab/pom.xml 2008-07-31 13:17:21 UTC (rev 806) @@ -7,14 +7,14 @@ <parent> <groupId>org.codelutin.jaxx</groupId> <artifactId>pom</artifactId> - <version>0.2-SNAPSHOT</version> + <version>0.3</version> </parent> <artifactId>jaxx-swing-tab</artifactId> <name>jaxx-swing-tab</name> <packaging>jar</packaging> - <version>0.2-SNAPSHOT</version> + <version>0.3</version> <description>Jaxx lutin library swing tab extension</description> <build> Modified: trunk/lutinjaxx/maven/pom.xml =================================================================== --- trunk/lutinjaxx/maven/pom.xml 2008-07-28 10:16:27 UTC (rev 805) +++ trunk/lutinjaxx/maven/pom.xml 2008-07-31 13:17:21 UTC (rev 806) @@ -12,7 +12,7 @@ <parent> <groupId>org.codelutin.jaxx</groupId> <artifactId>pom</artifactId> - <version>0.2-SNAPSHOT</version> + <version>0.3</version> </parent> <artifactId>maven-jaxx-plugin</artifactId> @@ -63,7 +63,7 @@ <!-- *** Project Information ************************************* --> <!-- ************************************************************* --> - <version>0.2-SNAPSHOT</version> + <version>0.3</version> <description> Maven 2 plugin to generate java source from ui interface definitions Modified: trunk/lutinjaxx/maven/src/main/java/org/codelutin/jaxx/AbstractActionGeneratorMojo.java =================================================================== --- trunk/lutinjaxx/maven/src/main/java/org/codelutin/jaxx/AbstractActionGeneratorMojo.java 2008-07-28 10:16:27 UTC (rev 805) +++ trunk/lutinjaxx/maven/src/main/java/org/codelutin/jaxx/AbstractActionGeneratorMojo.java 2008-07-31 13:17:21 UTC (rev 806) @@ -19,12 +19,16 @@ import java.io.File; import java.io.IOException; -/** @author chemit */ +/** + * @author chemit + * @deprecated Now we use the {@link org.codelutin.jaxx.action.ActionAnnotationProcessing} + */ public abstract class AbstractActionGeneratorMojo extends AbstractJaxxMojo { /** * @description Nom du fichier d'actions � g�n�rer. - * @parameter expression="${jaxx.actionsFile}" default-value="/jaxx/${project.artifactId}-actions.properties" + * @parameter expression="${jaxx.actionsFile}" + * @required */ protected String actionsFile; Modified: trunk/lutinjaxx/maven/src/main/java/org/codelutin/jaxx/ActionGeneratorMojo.java =================================================================== --- trunk/lutinjaxx/maven/src/main/java/org/codelutin/jaxx/ActionGeneratorMojo.java 2008-07-28 10:16:27 UTC (rev 805) +++ trunk/lutinjaxx/maven/src/main/java/org/codelutin/jaxx/ActionGeneratorMojo.java 2008-07-31 13:17:21 UTC (rev 806) @@ -38,6 +38,7 @@ * @author chemit * @goal generate-actions-properties * @phase process-classes + * @deprecated Now we use the {@link org.codelutin.jaxx.action.ActionAnnotationProcessing} */ public class ActionGeneratorMojo extends AbstractActionGeneratorMojo { Modified: trunk/lutinjaxx/maven/src/main/java/org/codelutin/jaxx/ActionProviderGeneratorMojo.java =================================================================== --- trunk/lutinjaxx/maven/src/main/java/org/codelutin/jaxx/ActionProviderGeneratorMojo.java 2008-07-28 10:16:27 UTC (rev 805) +++ trunk/lutinjaxx/maven/src/main/java/org/codelutin/jaxx/ActionProviderGeneratorMojo.java 2008-07-31 13:17:21 UTC (rev 806) @@ -32,6 +32,7 @@ * @author chemit * @goal generate-actions-provider * @phase process-resources + * @deprecated Now we use the {@link org.codelutin.jaxx.action.ActionAnnotationProcessing} */ public class ActionProviderGeneratorMojo extends AbstractActionGeneratorMojo { Modified: trunk/lutinjaxx/pom.xml =================================================================== --- trunk/lutinjaxx/pom.xml 2008-07-28 10:16:27 UTC (rev 805) +++ trunk/lutinjaxx/pom.xml 2008-07-31 13:17:21 UTC (rev 806) @@ -39,7 +39,7 @@ <!-- *** Project Information ************************************* --> <!-- ************************************************************* --> <name>pom</name> - <version>0.2-SNAPSHOT</version> + <version>0.3</version> <description>Jaxx lutin library main pom</description> <inceptionYear>2008</inceptionYear> @@ -65,7 +65,7 @@ <properties> <!-- current version --> - <current.version>0.2-SNAPSHOT</current.version> + <current.version>0.3</current.version> <!-- id du projet du labs --> <labs.id>38</labs.id> Modified: trunk/lutinjaxx/runtime/pom.xml =================================================================== --- trunk/lutinjaxx/runtime/pom.xml 2008-07-28 10:16:27 UTC (rev 805) +++ trunk/lutinjaxx/runtime/pom.xml 2008-07-31 13:17:21 UTC (rev 806) @@ -7,14 +7,14 @@ <parent> <groupId>org.codelutin.jaxx</groupId> <artifactId>pom</artifactId> - <version>0.2-SNAPSHOT</version> + <version>0.3</version> </parent> <artifactId>runtime</artifactId> <name>runtime</name> <packaging>jar</packaging> - <version>0.2-SNAPSHOT</version> + <version>0.3</version> <description>Jaxx lutin library runtime</description> <build> Modified: trunk/lutinjaxx/util/pom.xml =================================================================== --- trunk/lutinjaxx/util/pom.xml 2008-07-28 10:16:27 UTC (rev 805) +++ trunk/lutinjaxx/util/pom.xml 2008-07-31 13:17:21 UTC (rev 806) @@ -7,14 +7,14 @@ <parent> <groupId>org.codelutin.jaxx</groupId> <artifactId>pom</artifactId> - <version>0.2-SNAPSHOT</version> + <version>0.3</version> </parent> <artifactId>util</artifactId> <name>util</name> <packaging>jar</packaging> - <version>0.2-SNAPSHOT</version> + <version>0.3</version> <description>Jaxx lutin library utility</description> <build>