Findbugs est un excellent logiciel et mon équipe l'utilise pour travailler sur notre projet Android. Dans Eclipse tout est beau et brillant, mais maintenant nous essayons d'automatiser nos constructions avec ant
et générer automatiquement les résultats de Findbugs pour chaque build.
Ça n'a pas l'air si difficile. J'ai suivi ce tutoriel :
https://wiki.jenkins-ci.org/display/JENKINS/Building+une+application+et+un+projet+de+test+droid#Construire+une+application+et+un+projet+de+test+droid-FindBugs
Un petit problème est que j'ai dû changer ${android.jar}
a ${project.target.android.jar}
.
Le pire, c'est que The following classes needed for analysis were missing:
des avertissements pour les classes qui proviennent de projets de bibliothèque que nous utilisons. Certains d'entre eux sont les nôtres et nous aimerions également les scanner avec Findbugs. Pour compliquer les choses, l'une de ces librairies utilise une autre librairie (également la nôtre et qui doit être analysée), de sorte que cela ressemble à ceci :Project A --uses--> Library B --uses--> Library C
J'ai pensé que puisque le SDK d'Android peut gérer toutes ces dépendances (la bibliothèque C est compilée lorsque je lance l'application ant debug
pour le projet A), je peux en quelque sorte l'utiliser, obtenir la liste des librairies dont dépend mon projet et la fournir à la tâche findbugs. Malheureusement, je n'ai pas réussi à le faire.
Pour l'instant, je me suis contenté d'entrer manuellement toutes les librairies, certaines dans le dossier class
propriété de la tâche de findbugs, certains en auxClasspath
L'avantage est que je ne peux analyser que certaines des bibliothèques dont dépend le projet. J'espère quand même que ce que j'ai essayé de faire à l'origine est possible. Quelqu'un peut-il me montrer comment extraire un élément de chemin d'accès