¿Cómo me aseguro de que los avisos de derechos de autor acompañen a todos mis archivos fuente para una compilación de Java Maven?
-
10-07-2019 - |
Pregunta
¿Existe una forma estándar en que las personas imponen la inclusión de avisos de derechos de autor en sus compilaciones java / maven? Me doy cuenta de que no debería ser necesario, ya que el producto en sí está copiado y si alguien tiene mi fuente, tengo problemas mucho mayores, pero me piden que verifique y me pregunto si checkstyle, PMD o alguna otra cosa manejan esto automáticamente .
¿Existe alguna herramienta que maneje la verificación de derechos de autor?
Solución
Sí , Checkstyle (y el maven-checkstyle -plugin ) puede hacer eso, puede verificar que cada archivo fuente contenga un encabezado de licencia. Coloque ese encabezado en un archivo de texto y use el código LICENSE.txt
).
Supongamos que desea utilizar checkstyle.license
para sus avisos de derechos de autor. Para una compilación de varios módulos, el enfoque estándar es crear un módulo dedicado para alojar recursos de Checkstyle (consulte Configuración multimódulo ):
whizbang
|-- pom.xml
|-- build-tools
| |-- src
| | `-- main
| | `-- resources
| | `-- whizbang
| | |-- checkstyle.xml
| | `-- checkstyle.license
| `-- pom.xml
|-- core
|-- gui
|-- jmx
`-- src
Luego, incluya la configuración Checkstyle en el pom.xml
.
<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 configuración garantizará que haya un encabezado de copyright en los archivos fuente (y aplicará otras reglas de Checkstyle, pero esta es otra historia). Adaptarlo a sus necesidades.
Otros consejos
acabo de encontrar http://code.google.com/p/maven-license-plugin/ parece razonable también