O license plugin permite que atualizemos nos fontes do projeto a cabeçalho com a mensagem de licença, vamos abaixo ver como é simples a sua utilização em um projeto maven.
1 - Configurando
<build> <plugins> <plugin> <groupId>com.mycila.maven-license-plugin</groupId> <artifactId>maven-license-plugin</artifactId> <version>1.9.0</version> <configuration> <header>src/etc/license.txt</header> <mapping> <tmpl>XML_STYLE</tmpl> </mapping> <strictCheck>true</strictCheck> <includes> <include>src/**</include> </includes> <excludes> <exclude>src/main/webapp/js/libs/**</exclude> <exclude>src/main/webapp/css/jquery.mobile-1.0.min.css</exclude> <exclude>src/test/qunit/qunit/**</exclude> <exclude>src/main/webapp/tmpl/**</exclude> <exclude>src/main/webapp/WEB-INF/wro.properties</exclude> </excludes> </configuration> </plugin> </plugins> </build>
2 - Criar um Header File
Para utilizar esse plugin você precisa criar um arquivo que contenha o header, licença ou qualquer outro texto que queira que seja exibido nos arquivos fontes do projeto.
Abaixo um exemplo de licença que será exibido nos arquivos do projeto:
Copyright (C) ${year} ${user.name} <${email}> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Criar um arquivo com o nome de license.txt e adicionar no caminho, conforme a tag: header.
<header>src/etc/license.txt</header>
3 - Verificando se existe o header nos arquivos do projeto
Com o plugin configurado no pom do projeto, executar:
mvn license:check -Dyear=2013 -Demail=javadev@javadev.com.br
Caso houver algum arquivo sem o header ocorrerá uma falha no build, caso contrário será exibido uma mensagem de sucesso:
[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 0.811s [INFO] Finished at: Tue Mar 12 18:15:18 BRT 2013 [INFO] Final Memory: 3M/15M
4 - Adicionando o Header nos arquivos do projeto (goal: format)
Executar o comando:
mvn license:format -Dyear=2013 -Demail=javadev@javadev.com .br
Para que o comando acima funcione, o projeto precisa da seguinte configuração:
<build> <plugins> <plugin> <groupId>com.mycila.maven-license-plugin</groupId> <artifactId>maven-license-plugin</artifactId> <configuration> <header>src/etc/license.txt</header> </configuration> </plugin> </plugins> </build>
Assim que o comando for executado todos os fontes do projeto terão os cabeçalhos alterados.
Repositório
http://repo1.maven.org/maven2/com/mycila/maven-license-plugin.Download
http://www.javadev.com.br/downloads/plugins/license.rar.Referência
O texto utilizando para o exemplo de como atualizar os headers dos fontes foi extraido da Apache Software Fundation.