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.*"})
+(a)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
+ */
+(a)Retention(RetentionPolicy.RUNTIME)
+
+(a)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>