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.5.2. Paramètres de Mojo multi-valeurs

    Les plugins peuvent avoir des paramètres qui acceptent plusieurs valeurs. Jetez un coup d'oeil au ZipMojo affiché dans l'Exemple 17.7, « Un plugin avec des paramètres multi-valeurs ». Les paramètres includes et excludes acceptent un tableau de String qui spécifient des paramètres d'inclusion et l'exclusion pour créer le fichier ZIP.

    Exemple 17.7. Un plugin avec des paramètres multi-valeurs

    package org.sonatype.mavenbook.plugins
    
    /**
     * Zips up the output directory.
     * @goal zip
     * @phase package
     */
    public class ZipMojo extends AbstractMojo
    {
        /**
         * The Zip archiver.
         * @parameter \
             expression="${component.org.codehaus.plexus.archiver.Archiver#zip}"
         */
        private ZipArchiver zipArchiver;
    
        /**
         * Directory containing the build files.
         * @parameter expression="${project.build.directory}"
         */
        private File buildDirectory;
    
        /**
         * Base directory of the project.
         * @parameter expression="${basedir}"
         */
        private File baseDirectory;
    
        /**
         * A set of file patterns to include in the zip.
         * @parameter alias="includes"
         */
        private String[] mIncludes;
    
        /**
         * A set of file patterns to exclude from the zip.
         * @parameter alias="excludes"
         */
        private String[] mExcludes;
    
        public void setExcludes( String[] excludes ) { mExcludes = excludes; }
    
        public void setIncludes( String[] includes ) { mIncludes = includes; }
    
        public void execute()
            throws MojoExecutionException
        {
            try {
                zipArchiver.addDirectory( buildDirectory, includes, excludes );
                zipArchiver.setDestFile( new File( baseDirectory, "output.zip" ) );
                zipArchiver.createArchive();
            } catch( Exception e ) {
                throw new MojoExecutionException( "Could not zip", e );
            }
        }
    }
    

    Pour configurer un paramètre de Mojo multi-valeurs, vous pouvez utiliser une liste d'éléments. Si le nom d'un paramètre multi-valeurs est includes, vous utiliserez une balise includes contenant des éléments include. Si le paramètre multi-valeurs est excludes, vous utiliserez une balise excludes contenant des éléments exclude. Pour configurer le ZipMojo pour qu'il ignore tous les fichiers .txt et tous les fichiers qui terminent par un tilde, vous pouvez utiliser la configuration de plugin suivante.


    <project>
      ...
      <build>
        <plugins>
          <plugin>
            <groupId>org.sonatype.mavenbook.plugins</groupId>
            <artifactId>zip-maven-plugin</artifactId>
            <configuration>
              <excludes>
                <exclude>**/*.txt</exclude>
                <exclude>**/*~</exclude>
              </excludes>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </project>