Le “Maven Release Plugin” facilite la creation de livrables.
Le but de cet article et de vous faire une petite introduction sur la mise en place de ce plugin au sein de vos projets.
Voici habituellement ce qu’il se passe lorsque vous avez à livrer une version de votre application et que vous n’utilisez pas ce plugin.
Pour mener à bien votre livraison, vous devez:
1. Vérifier que le projet n’a aucune dependance en version -SNAPSHOT
2. Changer les poms du projet de -SNAPSHOT vers RELEASE: (par exemple, 1.0.0-snapshot vers 1.0.0).
3. Faire le “commit” des modifications effectuées sur les poms
4. Faire le “tag” de la version…
5. Faire un mvn deploy de la version (par exemple, 1.0.0)
…
Bref un lot de tâches rébarbatives qui ne font que perdre du temps et qui pourraient très bien être automatisées.
La même livraison que précédemment mais cette fois ci en utilisant le maven-release-plugin.
1. Mise en place du plugin
Pour utiliser ce plugin, ajouter la ligne suivante dans le pom parent de votre projet.
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>2.0-beta-9</version> </plugin>
NB: Vérifier également que vous avez bien renseigné le tag scm.
2. Preparation de la release: <mvn release:prepare>
Durant cette phase, le plugin:
1. Vérifie que tout ce qui est dans votre workspace a été “commité”
2. Vérifie que vous n’avez aucune dépendance -SNAPSHOT dans vos poms (dans le cas contraire, vous aurez droit à un certain nombre de messages d’avertissement).
3. Change les poms de votre projet pour la phase de développement suivante (vous pouvez saisir le numéro de version ou garder le choix qui vous est proposé).
4. Effectue le “tag” de la version “releasée” (vous pouvez saisir le nom du tag ou garder le choix qui vous est proposé).
3. Livraison: <mvn release:perform>
Lors de cette phase, la commande “mvn site deploy” est exécutée par defaut.
Après l’exécution de cette commande, votre application est publiée sur votre repository maven (central).
Bien évidement, vous pouvez personnaliser cette commande de la manière suivante (la configuration est faite au niveau de la déclaration du plugin):
<plugin> <artifactId>maven-release-plugin</artifactId> <version>2.0-beta-7</version> <configuration> <!-- During release:perform, enable the "release" profile --> <releaseProfiles>release</releaseProfiles> <goals>deploy assembly:assembly</goals> </configuration> </plugin>
4. Annulation: <mvn release:rollback>
Lorsqu’un problème survient, vous pouvez annuler votre travail en exécutant cette commande.
Attention toutefois à ne pas avoir supprimé votre fichier realease.properties en utilisant la commande “mvn release:clean” par exemple.
Voilà, c’est tout pour cette introduction au “Maven Release Plugin”.
Pour plus d’informations sur ce dernier, rendez-vous à cette adresse.
Bon code à tous
–
Benjamin Sempéré
