Como posso garantir que os avisos de direitos autorais acompanhar todos os meus arquivos de origem para uma compilação maven-java?

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

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?

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top