Comment faire pour supprimer l'PMD avertissements au cours d'une Maven installer
J'ai un projet en Java qui est construit à l'aide de Maven, donc mon processus de construction est définie dans le pom.xml fichier du projet. Mon équipe de développement utilise une variété de plug-ins pour vérifier la qualité de notre code source; l'un de ces plug-in utilise PMD vérifier le code.Le plugin permet de s'assurer que la PMD est exécutée chaque fois que nous exécutons mvn install
sur le projet et qu'il va échouer la compilation si il y a une violation. Voici le plugin dans notre pom.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>2.7.1</version>
<configuration>
<targetJdk>1.6</targetJdk>
<linkXref>false</linkXref>
<failOnViolation>true</failOnViolation>
<failurePriority>1</failurePriority>
<rulesets>
<ruleset>config/pmd-rulesets.xml</ruleset>
</rulesets>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
Mon problème est que il y a quelques temps, surtout quand je suis dans le milieu de l'élaboration d'une tâche et je veux vérifier si mon code construit, mais avant, je suis prêt à soumettre mon code source de la SCM pour la construction automatique et relâchez-le pour les autres-quand je veux supprimer PMD violations de défaut de mon build. Je sais qu'une telle solution est d'aller dans le code et d'ajouter des annotations à supprimer les avertissements (http://pmd.sourceforge.net/suppressing.html), mais je crois que l'édition du code source de cette façon, juste pour réprimer ces infractions est ennuyeux et sujette à erreur. Une autre chose que je puisse faire est de modifier mon pompon et commentez le plugin PMD. Cependant, une fois de plus, je trouve la modification d'un fichier qui est essentiel pour l'ensemble de mon application est ennuyeux et sujette à erreur.
La solution que mon équipe désirs pour en est une qui nous permet de passer simplement dans une sorte de drapeau ou d'un argument dans notre mvn
commande à parler rapidement le processus de construction de sauter le plugin PMD. Par exemple, chaque fois que nous sommes en cours d'exécution d'une installation à un point dans la phase de développement et nous savons que les tests d'intégration sera probablement voués à l'échec (comme, un service web peut ne pas être actif), nous passons le -Dskip.integration.tests=true
drapeau lors des mvn install
. C'est une solution plus propre que d'avoir à modifier nos fichiers de test ou de modifier pom.xml. Je suis à la recherche d'un semblable variable nous permet de rapidement sauter PMD violations. Merci!
PS: j'ai fait mes devoirs. Les deux Stackoverflow les questions n'ont pas à contenir ma solution souhaitée:
- PMD avec Maven - Comment désactiver une règle à l'intérieur d'un jeu de règles?
- PMD - Comment exclure des fichiers de la violation de vérifier
Vous devez vous connecter pour publier un commentaire.
Il suffit de déclarer failPmdOnViolation bien dans votre pom.xml comme de vrai, de préciser que la propriété de paramètres de plug-in à la place de codé en dur constante et ensuite vous pouvez la remplacer par l'activation d'un profil spécial de la ligne de commande. Ou vous pouvez vous référer expression par défaut pour failOnViolation plugin propriété comme
mvn -Dpmd.failOnViolation=false install
J'ai utilisé la commande ci-dessous la même manière que nous utilisons
skipTests=true
.Aussi pour findbugs, nous pouvons utiliser