Como posso garantir que os avisos de direitos autorais acompanhar todos os meus arquivos de origem para uma compilação maven-java?
-
10-07-2019 - |
Pergunta
Existe uma maneira padrão pessoas impor a inclusão de avisos de direitos autorais em seu java / Maven constrói? Eu percebo que ele não deve ser necessário uma vez que o produto em si é escrito em papel e se alguém tem a minha fonte tenho problemas muito maiores, mas estou sendo solicitado para verificar e queria saber se checkstyle, PMD ou qualquer outra coisa tratada isso automaticamente .
Existe uma ferramenta que lida com a verificação de direitos autorais?
Solução
Sim , Checkstyle (eo maven-checkstyle -plugin ) pode fazer isso, ele pode verificar que todos os arquivos de origem contêm um cabeçalho de licença. Coloque esse cabeçalho em um arquivo de texto e usar o headerLocation
para ponto sobre ele (ele usa por LICENSE.txt
padrão).
Vamos dizer que você quer uso checkstyle.license
para os seus avisos de direitos autorais. Para uma compilação multi-módulos, a abordagem padrão é criar um módulo dedicado aos recursos checkstyle de acolhimento (ver Multimodule configuração ):
whizbang
|-- pom.xml
|-- build-tools
| |-- src
| | `-- main
| | `-- resources
| | `-- whizbang
| | |-- checkstyle.xml
| | `-- checkstyle.license
| `-- pom.xml
|-- core
|-- gui
|-- jmx
`-- src
Em seguida, inclua o Checkstyle configuração em o pom.xml
nível superior.
<pluginManagement>
<plugins>
<!-- Apply checkstyle rules and fail the build in case of errors. The
checkstyle config files are taken from the build-tools JAR module.-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<!-- Lock down plugin version for build reproducibility -->
<version>2.4</version>
<dependencies>
<dependency>
<groupId>com.example.whizbang</groupId>
<artifactId>build-tools</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
<configuration>
<consoleOutput>true</consoleOutput>
<configLocation>whizbang/checkstyle.xml</configLocation>
<headerLocation>whizbang/checkstyle.license</headerLocation>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
</pluginManagement>
Esta configuração irá garantir que um cabeçalho de copyright está presente em arquivos de origem (e aplicar outras regras checkstyle mas isso é outra história). Adaptá-lo para atender às suas necessidades.
Outras dicas
Eu só descobri http://code.google.com/p/maven-license-plugin/ parece razoável também