J'ai un projet Maven 2 et je souhaite configurer mon plug-in de rapport Checkstyle afin que seules certaines de mes classes soient analysées. J'ai trouvé le maven.checkstyle.excludes
, mais malgré le passage en tant que paramètre de ligne de commande (en utilisant -D=maven.checkstyle.excludes=...
) Je n'arrive pas à le faire marcher. Je ne trouve rien sur la page de documentation du plugin. Idéalement, je veux pouvoir définir cela dans le <configuration>
section de mon POM.
Si cette question concerne Maven 2, la propriété est excludes
et prend une liste de modèles Ant séparés par des virgules. Donc, passez ceci sur la ligne de commande:
-Dexcludes=**/generated/**/*
Ou configurez-le dans la configuration du plugin:
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
<excludes>**/generated/**/*</excludes>
</configuration>
</plugin>
Une autre option serait d'utiliser n filtre de suppression .
Par exemple, vous pouvez utiliser le SuppressionCommentFilter
pour supprimer les événements d'audit entre un commentaire contenant CHECKSTYLE:OFF
et un commentaire contenant CHECKSTYLE:ON
(puis ajoutez simplement ces commentaires aux classes ou parties du code que vous ne voulez pas vérifier).
Si, comme moi, vous êtes arrivé ici à la recherche d'un moyen d'exclure les sources générées de checkstyle, procédez comme suit:
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.15</version>
<configuration>
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
</configuration>
</plugin>
Par défaut, le checkstyle:checkstyle
objectif du plugin checkstyle utilise ${project.compileSourceRoots}
, qui inclut apparemment les répertoires sources générés.
Si vous le changez en ${project.build.sourceDirectory}
, il utilisera uniquement le répertoire source, pas les répertoires source générés.
Notez que tandis que <sourceDirectory>
est obsolète, l'alternative, <sourceDirectories>
, ne semble pas fonctionner.
De plus, si vous souhaitez exclure plusieurs dossiers indépendants, vous pouvez ajouter plusieurs chemins indépendants séparés par des virgules comme ceci
<excludes>org/log4j/*,com/acme/**/*,com/companyb/*</excludes>