Как мне обеспечить, чтобы уведомления об авторских правах сопровождали все мои исходные файлы для сборки java-maven?
-
10-07-2019 - |
Вопрос
Есть ли стандартный способ, которым люди принудительно включают уведомления об авторских правах в свои сборки java / maven? Я понимаю, что в этом нет необходимости, так как сам продукт написан с использованием копий, и если у кого-то есть мой источник, у меня гораздо большие проблемы, но меня просят проверить, и мне было интересно, обрабатывает ли это контрольный стиль, PMD или что-то еще автоматически . р>
Существует ли инструмент для проверки авторских прав?
Решение
Да , Checkstyle (и maven-checkstyle -plugin ) может сделать это, он может проверить, что каждый исходный файл содержит заголовок лицензии. Поместите этот заголовок в текстовый файл и используйте <код > headerLocation указать на него (по умолчанию используется LICENSE.txt
). Р>
Допустим, вы хотите использовать checkstyle.license
для уведомлений об авторских правах. Для многомодульной сборки стандартным подходом является создание выделенного модуля для размещения ресурсов Checkstyle (см. Конфигурация с несколькими модулями ):
whizbang
|-- pom.xml
|-- build-tools
| |-- src
| | `-- main
| | `-- resources
| | `-- whizbang
| | |-- checkstyle.xml
| | `-- checkstyle.license
| `-- pom.xml
|-- core
|-- gui
|-- jmx
`-- src
Затем включите конфигурацию Checkstyle в верхний уровень 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, но это уже другая история). Адаптируйте его под свои нужды.
Другие советы
Я только что нашел http://code.google.com/p/maven-license-plugin/ а> кажется разумным тоже