J'utilise depuis quelque temps l'outil d'integration continue jenkins et j'apprécie de pouvoir suivre le nombre de lignes de codes dans mes développements, peut-être pas orgeuil, mais découvrir 3 mois plus tard l'existence d'une librairie qui remplace 10K lignes de code maison rend aussi plus humble. Je me suis donc penché sur la longue liste de plugins pour Jenkins et ai utilisé pendant un temps le SLOCCount Plugin.

SLOCCount bien que faisant le travail n'a pas évolué depuis 2004 et surtout il ne détecte pas l'ensemble des langages utilisés dans mes projets, comme par exemple JavaScript. J'ai alors recherché d'autres outils de métriques de code et j'ai trouvé CLOC qui est plus récent et plus exhaustif que SLOCCount. CLOC annonce (cloc --show-lang) reconnaitre 100 langages quand SLOCCount n'en identifie que 27, loin d'utiliser autant de langage CLOC couvre au moins mes besoins en identifiant ceux qui m'intéressent.

Voulant utiliser CLOC au lieu de SLOCCount j'ai cherché en vain un plugin pour Jenkins. Le plugin SLOCCount lui par contre me satisfaisant j'ai décidé de contourner le problème en écrivant un script python exécutant CLOC et formattant la sortie de celui-ci au format de SLOCCount attendu par Jenkins. J'ai désormais tous mes langages de comptabilisés pour un moindre effort.

Si le script clokins.py vous intéresse il est disponible sur gitorious et pour l'anecdote il est utilisé pour compter ses propres lignes sur http://jenkins.quiedeville.org/job/Clokins/.

Et si vous utilisez une autre méthode de comptage dans Jenkins commentez ce billet cela sera utile pour tout le monde.

Publié en GPLv3 toutes les contributions sont les bienvenues.