Как мне обеспечить, чтобы уведомления об авторских правах сопровождали все мои исходные файлы для сборки java-maven? - PullRequest
2 голосов
/ 30 ноября 2009

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

Есть ли инструмент для проверки авторских прав?

Ответы [ 2 ]

2 голосов
/ 07 февраля 2010

Я только что нашел http://code.google.com/p/maven-license-plugin/ кажется разумным тоже

2 голосов
/ 01 декабря 2009

Да , 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, но это уже другая история). Адаптируйте его под свои нужды.

...