Why make donate
Update File Header: Configuration

Depuis la version 2.4, en l'absence de fichier descriptor, il est possible de configurer le goal update-file-header avec quatre paramètres:

Pour connaitre la liste complêtes des extensions connues lancer le goal comment-style-list.

[INFO] --- maven-license-plugin:2.4.1:comment-style-list (default-cli) @ maven-license-plugin ---
[INFO] List of available comment styles:

  - apt        : header transformer with apt comment style            , extensions : [apt]
  - java       : header transformer with java comment style           , extensions : [java, groovy, css, cs, as, aj, c, h, cpp]
  - properties : header transformer with properties file comment style, extensions : [properties, sh, py, rb, pl, pm]
  - rst        : header transformer with rst comment style            , extensions : [rst]
  - xml        : header transformer with xml comment style            , extensions : [pom, xml, xhtml, mxlm, dtd, jspx, fml, xsl, html, htm, jaxx, kml, gsp, tml]

Roots

Par défault, tous les fichiers contenus dans src sont traités. Cela peut se changer en utilisant la propriété roots. Cette propriété est une liste de répertoires de bases au sein desquels le goal update-file-header sera appliquée.

Example

Soit un pom avec la configuration de plugin suivante:

    <plugins>
      <plugin>
        <groupId>org.nuiton</groupId>
        <artifactId>maven-license-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <verbose>false</verbose>
          <addSvnKeyWords>true</addSvnKeyWords>
        </configuration>
        <executions>
          <execution>
            <id>first</id>
            <goals>
              <goal>update-file-header</goal>
            </goals>
            <phase>process-sources</phase>
            <configuration>
              <licenseName>gpl_v3</licenseName>
              <roots>
                <root>src/main/java</root>
                <root>src/test</root>
              </roots>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  En considérant que nous avons l'arboresence suivante:
  src/main/java
  src/main/resources
  src/test/java
  src/test/resources

Seuls les fichiers inclus dans src/main/java, src/test/java et src/test/resources seront traités.

Includes

Par défault, Tous les fichiers depuis le(s) roots et avec la bonne extension sont traités. Avec le parametre de type Liste includes, il est possible de spécifier avec plus de precision quels fichiers on désire traiter.

Exemple

Soit un pom avec la configuration de plugin suivante:

    <plugins>
      <plugin>
        <groupId>org.nuiton</groupId>
        <artifactId>maven-license-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <verbose>false</verbose>
          <addSvnKeyWords>true</addSvnKeyWords>
        </configuration>
        <executions>
          <execution>
            <id>first</id>
            <goals>
              <goal>update-file-header</goal>
            </goals>
            <phase>process-sources</phase>
            <configuration>
              <licenseName>gpl_v3</licenseName>
              <includes>
                <include>*Dao.java</include>
                <include>*Bean.java</include>
                <include>.*entities.*.xml</include>
              </includes>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>

Le goal update-file-header sera appliqué uniquement aux fichiers java (depuis "src") dont le nom se termine par "Dao" ou "Bean" et aux fichiers xml contenant "entities" dans leur nom.

Excludes

Le parametre excludes permet d'ignorer certains fichiers lors du processus update-file-header.

Exemple

Soit un pom avec la configuration de plugin suivante:

    <plugins>
      <plugin>
        <groupId>org.nuiton</groupId>
        <artifactId>maven-license-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <verbose>false</verbose>
          <addSvnKeyWords>true</addSvnKeyWords>
        </configuration>
        <executions>
          <execution>
            <id>first</id>
            <goals>
              <goal>update-file-header</goal>
            </goals>
            <phase>process-sources</phase>
            <configuration>
              <licenseName>gpl_v3</licenseName>
              <excludes>
                <exclude>*.png</exclude>
                <exclude>*.txt</exclude>
                <exclude>*Test.java</exclude>
              </excludes>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>

Les fichiers Java dont le nom se terminent par "Test", les fichiers png et txt seront ignorés.

ExtraExtensions

Il est possible de spécifier des extensions supplémentaires à traiter en utilisant le paramètre de type dictionnaire extraExtension où les clef sont les extensions et les valeurs les type de commentaire à utiliser.

Exemple

Soit un pom avec la configuration de plugin suivante:

    <plugins>
      <plugin>
        <groupId>org.nuiton</groupId>
        <artifactId>maven-license-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <extraExtensions>
            <yo>java</yo>
          </extraExtensions>
        </configuration>
      </plugin>
    </plugins>

Les fichiers d'extension yo seront traités comme des fichiers d'en-tête java.

Maven JRst ReStructuredText