Le plugin maven-release-plugin permet de produire automatiquement une livraison pour un artefact. De nombreuses tâches fastidieuses doivent être réalisées:

Préparation de la livraison

Phases de la préparation

mvn release:prepare

Durant la phase de préparation, les actions suivantes sont réalisées:

  1. vérification de l'état du projet par rapport au SCM
  2. récupération des informations relatives aux identifications de version
  3. mise à jour du POM et du référentiel de sources
  4. création du tag dans le SCM

Paramétrage

Les paramètres nécessaires sont:

  • project.scm.developerConnection: identifie la chaîne  de connexion auSCM au cours du développement.
  • tagBase: identifie la racine des tags de livraison dans le SCM

Ces paramètres peuvent être définis en ligne de commande  

mvn release:prepare \
        -Dproject.scm.developerConnection=scm:svn:file:///D:/subversion_data/repos/my_repo/my-app-example/trunk \
        -DtagBase=file:///D:/subversion_data/repos/my_repo/my-app-example/tag

ou dans le POM

<project>
  ...
  <scm>
    <developerConnection>
       scm:svn:file:///D:/subversion_data/repos/my_repo/my-app-example/trunk
    </developerConnection>
  </scm>
  ...
  <build>
    <plugins>
      ...
      <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <configuration>
          ...
          <tagBase>
            file:///D:/subversion_data/repos/my_repo/my-app-example/tags
          </tagBase>
          ...
        </configuration>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project> 

Interaction

Au cours de la préparation, le plugin release interroge l'utilisateur pour récupérer les informations suivantes:

  • l'identifiant dans le SCM de la livraison
  • le numéro de version public de la livraison
  • le prochain numéro de version de développement

Réalisation

mvn release:perform

Tâches exécutées ::

Ce but nécessite la présence du fichier release.properties à la racine du projet. Ce fichier est produit au cours la phase de préparation.

Références ::

Packaging

Le plugin Assembly permet de réaliser des assemblages arbitraires à partir d'un projet, par exemple pour construire des distributions à fin de mise en production.  

index