Industrialiser vos projets Flex avec Hudson, Maven, Sonar, FlexPMD et FlexCPD
Dans le monde Java, il existe de nombreux outils permettant de vérifier l'intégrité de votre code (tests unitaires) mais aussi pour vous assurer que la qualité de votre code est respectée. Ces outils vous permettent d'assurer la robustesse des applications que vous créez.
Parmi les plus populaires, on peut compter:
- Hudson / Jenkins pour l'automatisation de build (intégration continue)
- Maven pour gérer les dépendances entre vos projet et le cycle de build
- Sonar pour tester la couverture de code et mesurer la qualité de votre code
- PMD pour vérifier la présence de mauvaise pratiques dans votre code
- SVN / Git pour la gestion du versioning de vos projets
La mise en place de ces outils est assez laborieuse, surtout si vous voulez les ajouter à un projet existant (surtout Maven) mais le jeu en vaut la chandelle. Le travail à plusieurs sur un projet et les évolutions rapides de votre projet (notamment par Spring Agile) vous obligent à mettre de tels outils en place pour vous assurer qu'aucune régression ne soit possible.
Dans le monde Flex, ces outils existent aussi. Les serveurs de Continous Integration (Hudson / Jenkins) sont agnostiques de la technologie utilisée. Vous pouvez donc lui faire lancer des builds Java ou Flex, ou les deux. Maven est disponible grâce à flex-mojos et PMD est possible avec FlexPMD.
Pour vous aider à mettre en place ces outils, j'ai trouvé un blog très intéressant qui explique la mise en place de cet outils:
- How to install Jenkins on Scientific Linux for Flex Development
- How to enable Flash/Flex project analysis in Sonar
- How to install FlexPMD in Flex Builder 4.5
- How to install FlexCPD in Flash Builder 4.5
- How to add a Hudson Status Bar to Flash Builder( or FDT)
- How to install maven in Flash Builder 4.5
- How to setup Git on Flash Builder 4.5
- How to import GitHub projects into Flash Builder
- How to install Subclipse on Flash Builder 4.5
Bonne lecture
Sortie de FlexPMD 1.1 / FlexCPD 1.1 / FlexMetrics 1.1
Il y a quelques mois (6 en fait), je vous présentais des outils à la fois puissants et pratiques pour mesurer et corriger les bonnes pratiques dans votre développement. Ces outils sont développés par une petite team comprenant des français (voir le blog de Xavier Agnetti). Les trois projets sont hébergés sur le portail Open Source d'Adobe.
Est tout d'abord sorti FlexPMD permettant d'analyser votre code et d'en fait l'audit. Si vous ne vous rappelez pas, voici l'article présentant cet outil:
FlexPMD – Un outil pour faire l'audit de vos projets Flex / AS3 / Air
Est ensuite sorti, un plug-in Eclipse / Flex Builder pour vous simplifier la vie:
FlexPMD – Le plug-in Eclipse / Flex Builder 3 / Flash Builder 4 disponible
Pour la version 1.0, ils ont en même temps sorti FlexCPD, pour détecter la duplication de contenu dans votre code ainsi que FlexMetrics, qui vous permet d'avoir quelques statistiques sur votre code. Ces plugins peuvent facilement se greffer sur votre système d'intégration continue (Hudson et autres), ce n'est pas non plus le genre d'outil que l'on va utiliser pendant le dev, il permet juste de contrôler les versions release que vous allez publier tous les jours.
Pour ceux qui s'en inquiètent, ces 3 outils fonctionnent avec Flex 4 et Flash Builder 4 sans souci.
Comme l'indique le titre, les versions 1.1 de ces 3 outils sont sorties, corrigeant une bonne série de bugs (voir les release notes / bugs corrigés). N'oubliez donc pas de vous mettre à jour
FlexPMD – Le plug-in Eclipse / Flex Builder 3 / Flash Builder 4 disponible
Il y a quelques semaines, je vous présentais FlexPMD, un outil permettant de faire un audit de votre code ActionScript / Flex pour vos applications Adobe Flex / Adobe Air. A sa sortie, vous ne pouviez l'invoquer qu'en ligne de commande, par Ant ou par Maven. C'est plutôt pratique si vous avez déjà un système d'intégration continue ou des scripts de build en place mais sinon, cela restait un peu laborieux.
Heureusement, on apprend sur le blog de Xavier Agnetti, la sortie de FlexPMD sous forme de plug-in Flex Builder (mais aussi TextMate et FlashDevelop). Vous pourrez trouver plus d'informations sur le wiki de FlexPMD:
Wiki FlexPMD sur opensource@adobe
Notez que l'outil est compatible (testé) sur les versions de Flex Builder suivantes:
- FlashBuilder 4 Beta 2 standalone
- FlashBuilder 4 + Eclipse 3.5
- FlashBuilder 4 + Eclipse 3.4
- FlashBuilder 3 + Eclipse 3.4
Des vidéos expliquant l'utilisation de FlexPMD en plugin et sur sa configuration sont disponibles.
Au passage, Xavier annonce aussi la sortie d'autres outils pour faire l'audit de votre code (outil venant du monde Java eux aussi):
- FlexCPD (Copy & and Paste Detector): Vous indique la quantité de code dupliqué dans vos projets. Une bonne idée pour un bon refactor
- FlexMetrics (équivalent de JavaNCSS): Vous permet d'avoir des statistiques générales sur votre projet (nombre de lignes, de fonctions, etc.)





