Ce site met a disposition le build journalier de la traduction francaise du Maven: The Definitive Guide
Consultez :
  • Les documents de reference sur le projet original
  • Les sources de la traduction fr sur GitHub
  • maven


    17.6.2. Création d'un cycle de vie personnalisé

    Un cycle de vie personnalisé doit être packagé dans un plugin dans un fichier META-INF/maven/lifecycle.xml dans l'un des dossiers de ressources : par exemple src/main/resources. Le fichier lifecycle.xml suivant déclare un cycle de vie nommé zipcycle. Celui-ci contient un unique goal, zip, dans une seule phase, package.

    Exemple 17.9. Définition d'un cycle de vie par défaut dans le fichier lifecycle.xml

    <lifecycles>
      <lifecycle>
        <id>zipcycle</id>
        <phases>
          <phase>
            <id>package</id>
            <executions>
              <execution>
                <goals>
                  <goal>zip</goal>
                </goals>
              </execution>
            </executions>
          </phase>
        </phases>
      </lifecycle>
    </lifecycles>
    


    Si vous voulez exécuter la phase zipcycle au sein d'un autre build, vous pouvez créer un ZipForkMojo qui utilise l'annotation @execute pour demander à Maven de traverser la phase zipcycle avant l'exécution du build courant.

    Exemple 17.10. Fork d'un cycle de vie à partir d'un Mojo

    /**
     * Forks a zip lifecycle.
     * @goal zip-fork
     * @execute lifecycle="zipcycle" phase="package"
     */
    public class ZipForkMojo extends AbstractMojo
    {
      public void execute()
        throws MojoExecutionException
      {
        getLog().info( "doing nothing here" );
      }
    }
    


    Exécuter le ZipForkMojo lancera un fork du cycle de vie. Si vous avez configuré votre plugin pour qu'il s'exécuter avec le préfixe zip, l'exécution de zip-fork devrait produire une sortie ressemblant à cela.

    $ mvn zip:zip-fork
    [INFO] Scanning for projects...
    [INFO] Searching repository for plugin with prefix: 'zip'.
    [INFO] ----------------------------------------------------------------------
    [INFO] Building Maven Zip Forked Lifecycle Test
    [INFO]    task-segment: [zip:zip-fork]
    [INFO] ----------------------------------------------------------------------
    [INFO] Preparing zip:zip-fork
    [INFO] [site:attach-descriptor]
    [INFO] [zip:zip]
    [INFO] Building zip: \
       ~/maven-zip-plugin/src/projects/zip-lifecycle-test/target/output.zip
    [INFO] [zip:zip-fork]
    [INFO] doing nothing here
    [INFO] ---------------------------------------------------------------------
    [INFO] BUILD SUCCESSFUL
    [INFO] ---------------------------------------------------------------------
    [INFO] Total time: 1 second
    [INFO] Finished at: Sun Apr 29 16:10:06 CDT 2007
    [INFO] Final Memory: 3M/7M
    [INFO] ---------------------------------------------------------------------
    

    L'exécution de zip-fork a créé un nouveau cycle de vie, Maven a ensuite exécuté le cycle de vie zipcycle et a affiché le message contenu dans notre ZipFormMojo.