Comment puis-je m'assurer que les notices de copyright accompagnent tous mes fichiers source pour une version java-maven?
-
10-07-2019 - |
Question
Existe-t-il une méthode standard pour imposer l'inclusion des avis de droits d'auteur dans leurs versions java / maven? Je me rends compte que cela ne devrait pas être nécessaire puisque le produit lui-même est écrit en copie et que si quelqu'un a ma source, j'ai de plus gros problèmes, mais on me demande de vérifier et je me demandais si checkstyle, PMD ou autre chose traitait cela automatiquement .
Existe-t-il un outil permettant de vérifier le copyright?
La solution
Oui , Checkstyle (et le maven-checkstyle -plugin ) peut le faire, il peut vérifier que tous les fichiers source contiennent un en-tête de licence. Placez cet en-tête dans un fichier texte et utilisez le headerLocation
à pointer dessus (il utilise par défaut LICENSE.txt
).
Supposons que vous souhaitiez utiliser checkstyle.license
pour vos avis de droits d'auteur. Pour une construction multi-modules, l'approche standard consiste à créer un module dédié pour héberger des ressources Checkstyle (voir Configuration des multimodules ):
whizbang
|-- pom.xml
|-- build-tools
| |-- src
| | `-- main
| | `-- resources
| | `-- whizbang
| | |-- checkstyle.xml
| | `-- checkstyle.license
| `-- pom.xml
|-- core
|-- gui
|-- jmx
`-- src
Ensuite, incluez la configuration de Checkstyle dans le niveau supérieur 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>
Cette configuration garantira la présence d’un en-tête de droit d’auteur dans les fichiers source (et appliquera d’autres règles Checkstyle mais c’est une autre histoire). Adaptez-le à vos besoins.
Autres conseils
je viens de trouver http://code.google.com/p/maven-license-plugin/ < semble raisonnable aussi