¿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?

StackOverflow https://stackoverflow.com/questions/1821742

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?

¿Fue útil?

Solución

, 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 headerLocation para apuntarlo (usa por defecto 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 .

de nivel 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 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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top