9.5. Utiliser les rapports Checkstyle, PMD, et FindBugs

Vous pouvez aussi effectuer des rapports individuellement sur les résultats de Checkstyle, PMD, et FindBugs. En complément du plugin Violations, il y a des plugins Jenkins qui produisent des graphiques de tendance et des rapports détaillés pour chacun de ces outils de façon individuelle. Nous allons voir comment le faire avec Checkstyle, mais cette approche s’applique aussi pour PMD et FindBugs. Vous pouvez aussi utiliser le plugin Analysis Collector pour afficher les résultats combinés dans un graphique similaire à celui produit par le plugin Violations.

Vous pouvez installer ces plugins au travers du gestionnaire de plugin comme vous le faites habituellement. Les plugins en question sont appelés, sans surprise, plugin Checkstyle, plugin PMD, et plugin FindBugs. Tous ces plugins utilisent le plugin Static Analysis Utilities, qu'il vous faut aussi installer (voir Figure 9.11, “Installer les plugins Checkstyle et Static Analysis Utilities.”).

Installer les plugins Checkstyle et Static Analysis Utilities.

Figure 9.11. Installer les plugins Checkstyle et Static Analysis Utilities.


Une fois que vous avez installé ces plugins, vous pouvez paramétrer la création des rapports dans la configuration de votre projet. Cochez la case "Publiez les analyses de résultat Checkstyle". Dans un build free-style, vous aurez besoin de spécifier un patron de chemin pour trouver les rapports XML de Checkstyle ; dans un build Maven 2, Jenkins saurait où les chercher par lui-même.

Ceci fournira des rapports Checkstyle basiques, mais comme d’habitude, vous pouvez personnaliser ceci en cliquant sur le bouton Avancé. Dans un build Maven 2, vous pouvez configurer les valeurs de seuils de la santé (combien de violations passeront le build d'ensoleillé à orageux), et aussi filtrer les priorités de violations que vous voulez inclure dans le calcul. Par exemple, vous pourriez ne vouloir prendre en compte que les problèmes de haute priorité pour le statut de l’icône météorologique.

Les builds free-style ont quelques options supplémentaires que vous pouvez configurer ; en particulier, vous pouvez rendre le build instable (balle jaune) ou même en échec (balle rouge) si vous avez un nombre de violations supérieur à celui défini, ou s'il y a plus de nouvelle violations que le nombre donné(voir Figure 9.12, “Configurer le plugin Checkstyle”). Ainsi, dans la configuration de l’illustration, s’il y a plus de 50 nouvelles violations Checkstyle de n’importe quelle priorité dans un build, le build sera signalé comme instable. Cela a certainement son utilité pour Checkstyle, mais cela peut aussi se révéler très utile avec FindBugs, où les problèmes de haute priorité représentent souvent des bugs dangereux et potentiellement bloquants.

Configurer le plugin Checkstyle

Figure 9.12. Configurer le plugin Checkstyle


Maintenant, lorsque le build s'exécute, Jenkins générera un graphique de tendance et des rapports détaillés pour les violations Checkstyle (voir Figure 9.13, “Afficher les tendances Checkstyle”). De là, vous pouvez descendre pour voir les violations par priorité, par catégorie, par type de démarrage, par package, etc.

Afficher les tendances Checkstyle

Figure 9.13. Afficher les tendances Checkstyle


Comme nous l’avons mentionné précédemment, la même approche marche aussi avec le plugin PMD et le plugin FindBugs. Ces plugins sont un excellent moyen de fournir des rapports plus concentrés sur les résultats d’un outil particulier, et vous donnent aussi plus de contrôle sur l’impact que ces violations auront sur les résultats du build.