2009-11-30 5 views
2

Существует ли стандартный способ принудительного включения уведомлений об авторских правах в свои сборки java/maven? Я понимаю, что это не должно быть необходимо, поскольку сам продукт копируется и если у кого-то есть мой источник, у меня есть гораздо большие проблемы, но меня просят проверить, и мне было интересно, будет ли checkstyle, PMD или что-то еще обработать это автоматически ,Как обеспечить, чтобы уведомления об авторских правах сопровождали все мои исходные файлы для сборки java-maven?

Есть ли инструмент, который обрабатывает данные об авторских правах?

ответ

2

Да, Checkstyle (и maven-checkstyle-plugin) может это сделать, он может проверить, что все исходные файлы содержат заголовок лицензии. Поместите этот заголовок в текстовый файл и используйте headerLocation, чтобы указать на него (он использует по умолчанию LICENSE.txt).

Предположим, вы хотите использовать checkstyle.license для получения уведомлений об авторских правах. Для мульти-модулей построения, стандартный подход заключается в создании специализированного модуля для размещения Checkstyle ресурсов (см Multimodule configuration):

whizbang 
|-- pom.xml 
|-- build-tools 
| |-- src 
| | `-- main 
| |  `-- resources 
| |   `-- whizbang 
| |    |-- checkstyle.xml 
| |    `-- checkstyle.license 
| `-- pom.xml 
|-- core 
|-- gui 
|-- jmx 
`-- src 

Затем включают Checkstyle configuration на верхнем уровне 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> 

Эта установка гарантирует, что заголовок авторского права присутствует в исходных файлах (и применяются другие правила Checkstyle, но это другая история). Адаптируйте его в соответствии с вашими потребностями.

 Смежные вопросы

  • Нет связанных вопросов^_^