Archetype Maven 2 pour faciliter la création de tâches Ant

Il est parfois assez fastidieux de rechercher de la documentation sur le développement avancé de Ant. Aussi, afin de simplifier la création de tâches, de loggers et de listeners sous Ant, voici un archetype maven 2 qui devrait vous simplifier la vie :

maven-ant-archetype

Son utilisation est très simple et s’effectue en 3 étapes :

Etape 1

Téléchargez le JAR dans la rubrique download sur votre poste local.

Etape 2

Ajoutez le JAR à votre repository maven 2 via la commande suivante :

mvn install:install-file                               \
-Dfile=<path-to-file>                                  \
-DgroupId=org.kbups.ant                                \
-DartifactId=maven-ant-quickstart-archetype            \
-Dversion=1.0                                          \
-Dpackaging=maven-ant-quickstart-archetype-1.0.jar

Etape 3

Créez un projet maven à partir de l’archetype maven-ant-quickstart-archetype :

mvn archetype:generate                                 \
-DgroupId=<my.groupid>                                 \
-DartifactId=<my-artifactId>                           \
-DarchetypeCatalog=local                               \
-DarchetypeGroupId=org.kbups.ant                       \
-DarchetypeArtifactId=maven-ant-quickstart-archetype

Il vous suffit ensuite de personnaliser le code source du projet ainsi généré en fonction de vos besoins.

Par défaut, 3 classes sont disponibles et correspondent à :

  • une tâche Ant (MyTask.java qui hérite de la classe org.apache.tools.ant.Task)
  • un logger Ant (MyLogger.java qui implémente la classe org.apache.tools.ant.BuildLogger)
  • un listener Ant (MyListener.java qui implémente la classe org.apache.tools.ant.BuildListener)

Le plugin antrun a également été ajouté à l’archetype, et donc à votre projet, afin de lancer directement le build.xml suite à l’exécution de la commande :

mvn package

Cette commande donne le résultat suivant :

C:\dev\workspace\mytestproject>mvn package
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building maven-ant-quickstart
[INFO]    task-segment: [package]
[INFO] ------------------------------------------------------------------------
[INFO] [resources:resources {execution: default-resources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 5 source files to C:\dev\workspace\mytestproject\target\classes
[INFO] [resources:testResources {execution: default-testResources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\dev\workspace\mytestproject\src\test\resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] No sources to compile
[INFO] [surefire:test {execution: default-test}]
[INFO] No tests to run.
[INFO] [jar:jar {execution: default-jar}]
[INFO] Building jar: C:\dev\workspace\mytestproject\target\mytestproject-1.0-SNAPSHOT.jar
[INFO] [antrun:run {execution: default}]
[INFO] Executing tasks

main:

test:

[mytask] Here is the message: Test
[INFO] Executed tasks
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 20 seconds
[INFO] Finished at: Mon Dec 19 20:44:55 CET 2011
[INFO] Final Memory: 11M/21M
[INFO] ------------------------------------------------------------------------
C:\dev\workspace\mytestproject>

Bon développement !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>