FlexPMD – Tutorial Invoquer FlexPMD en ligne de commande
FlexPMD est un outil permettant d'analyser votre code ActionScript/MXML. A partir d'un ensemble de règles, il peut générer un fichier de rapport (pmd.xml). Dans ce tutorial FlexPMD, je vais montrer comment utiliser FlexPMD en ligne de commande.
Présentation de l'outil Adobe FlexPMD
Télécharger la dernière version de FlexPMD
Pour cela, rendez-vous sur la page de download du projet FlexPMD sur opensource.adobe:
Télécharger FlexPMD en ligne de commande.
Prenez celle ayant la date de build la plus récente (les numéros de versions peuvent varier par rapport au screenshot):

Télécharger le fichier de règles (Rules)
Avant de lancer FlexPMD, vous devez disposer d'un fichier de règles que l'on va donner all_flex.xml. Ce fichier peut être crée par le FlexPMD Ruleset Creator. Lancez l'outil, modifiez les règles composant votre RuleSet si vous le voulez puis cliquez sur "Export". Ne nommez pas votre fichier pmd.xml mais plutôt all_flex.xml, ce sera plus clair pour la suite.

Dans sa version actuelle, le FlexPMD Ruleset Creator à un petit "bug". En effet, l'application ne se resize pas par rapport à la taille de votre fenêtre. Si vous avez un wide screen ou beaucoup de toolbars, vous ne pourrez donc pas voir le bouton export. Dans ce cas, vous pouvez télécharger ce fichier exporté depuis FlexPMD RuleSetCreator:
Télécharger le fichier all_flex.xml contenant les règles pour FlexPMD
Lancer FlexPMD en ligne de commande
Dézippez l'archive et vous devriez avoir ces fichiers:

Pour cet exemple, le chemin vers le dossier de FlexPMD est C:\Users\fab\Desktop\flex-pmd-command-line-1.0.RC3, que l'on va appeler [PMD_DIR].
Le chemin des sources de mon projet Flex est C:\Users\fab\Desktop\src, que l'on va appeler [SRC_DIR].
Pour la suite, vous devez avoir Java ajouté à votre Path si ce n'est pas déjà fait (tuto Windows / Unix)
Si vous êtes sous Windows, ouvrez un Invite de Commande (Démarrer>Executer>cmd). Sous linux/mac, ouvrez votre terminal.
Placez vous dans le répertoire ou se trouve les jar de FlexPMD ([PMD_DIR]):

Vous pouvez maintenant invoquer FlexPMD en ligne de commande. Voici la ligne à entrer:
java -Xmx256m -jar flex-pmd-command-line-1.0.RC3.jar -s [SRC_DIR] -o . -r all_flex.xml
Voici le détail des différentes options de compilation:
- -s: Chemin vers les sources ActionScript à analyser
- -o: Chemin dans lequel le fichier sera écrit. La valeur "." indique que le fichier sera crée dans le même répertoire que le jar.
- -Xmx256m permet de modifier un paramètre de Java. Si vous ne le précisez pas, vous aurez l'erreur "Exception in thread "main" java.lang.OutOfMemoryError: Java heap space"
- -r (facultatif): Chemin vers le fichier de règles (RuleSet). Si vous né spécifiez pas de fichier de règles (all_flex.xml), un ensemble de règles par défaut sera utilisé.

Un fichier nommé "pmd.xml" sera crée. C'est lui qui contient le rapport FlexPMD.





