Flash Builder 4 Débutant ? Découvrez Flex 4 et Adobe® Flash® Builder 4
05
sept
09

FlexPMD – Tutorial Invoquer FlexPMD avec Ant

FlexPMD, l'outil d'audit Adobe peut être appelé soit en ligne de commande, soit par Ant. Vous pouvez donc générer un rapport comme une tâche supplémentaire de votre build Ant. Dans ce tutorial, on va voir comment faire fonctionner le build Ant depuis Flex Builder.

Installer Ant dans Flex Builder

Tout d'abord, la première étape est d'installer Ant dans Flex Builder 3. Pour cela, suivez ce tutorial Flex:

Installer Ant dans Flex Builder 3

Télécharger FlexPMD pour Ant et le copier dans votre projet

Rendez vous sur la page de téléchargement de FlexPMD et téléchargez la dernière version pour Ant (les numéros de version peuvent varier par rapport au screenshot):

dl-ant1

Dézippez l'archive que vous venez de télécharger, vous devriez y trouver une série de fichiers JAR. Dans le projet que vous souhaitez vérifier avec FlexPMD, créez un dossier "lib" à la racine:

ant-pmd-step-1

Créer le script Ant pour FlexPMD

A la racine de votre projet, créez un nouveau fichier que l'on va nommer "antpmd.xml". C'est ce fichier qui va contenir votre script Ant. Si vous avez déjà un build Ant (build.xml) de crée, vous pouvez le réutiliser en ajoutant simplement les taskdef et target qui vont suivre.

  • Allez ensuite dans le menu Run > Extenal Tools > Open External Tools Dialog…
  • Cliquez sur Ant Build puis sur le bouton New (juste en haut à gauche)
  • Nommez votre configuration Ant "FlexPMD" puis faites pointer le "Buildfile" vers votre fichier antpmd.xml et votre "Base Directory" vers le répertoire de votre projet. Vous devriez avoir quelque chose comme ceci:

ant-pmd-step-2

Fermez cette fenêtre puis ouvrez le fichier antpmd.xml. N'utilisez pas le code qui se trouve sur le site officiel, il est pour l'instant buggé.

Collez le code suivant dans ce fichier:

<project name="Flex PMD example" default="flexPmdWithDefaultRuleset" >

    <description>
        Flex PMD example
    </description>

    <property name="projecthome" value="${basedir}" />
    <property name="flexpmd.version" value="1.0.RC3" />
    <property name="flexpmd.dir" value="${basedir}/lib" />
	<property name="src.dir" value="src" />
	<property name="bin.dir" value="bin" />  

    <!--****************************************************
                FlexPMD
        *****************************************************-->

    <taskdef name="flexPmd"
         classname="com.adobe.ac.pmd.ant.FlexPmdAntTask"
         classpath="${flexpmd.dir}/flex-pmd-ant-task-${flexpmd.version}.jar">
            <classpath>
                <pathelement location="${flexpmd.dir}/flex-pmd-ruleset-api-${flexpmd.version}.jar"/>
                <pathelement location="${flexpmd.dir}/flex-pmd-ruleset-${flexpmd.version}.jar"/>
                <pathelement location="${flexpmd.dir}/flex-pmd-core-${flexpmd.version}.jar"/>
                <pathelement location="${flexpmd.dir}/as3-plugin-utils-${flexpmd.version}.jar"/>
                <pathelement location="${flexpmd.dir}/as3-parser-${flexpmd.version}.jar"/>
    			<pathelement location="${flexpmd.dir}/as3-parser-api-${flexpmd.version}.jar"/>
                <pathelement location="${flexpmd.dir}/pmd-4.2.2.jar"/>
    			<pathelement location="${flexpmd.dir}/as3-plugin-utils-${flexpmd.version}.jar"/>
    			<pathelement location="${flexpmd.dir}/commons-lang-2.4.jar"/>
    			<pathelement location="${flexpmd.dir}/flex-pmd-files-${flexpmd.version}.jar"/>
				<pathelement location="${flexpmd.dir}/plexus-utils-1.0.2.jar"/>
            </classpath>

    </taskdef>

    <target name="flexPmdWithCustomRuleset">
        <flexPmd
            sourceDirectory="${src.dir}"
            outputDirectory="${bin.dir}"
            ruleSet="${flexpmd.dir}/pmd.xml"/>
    </target>

    <target name="flexPmdWithDefaultRuleset">
        <flexPmd
            sourceDirectory="${src.dir}"
            outputDirectory="${bin.dir}"/>
    </target>

</project>

Lancer le script Ant et récupérer le fichier pmd.xml

Une fois votre fichier antpmd.xml sauvegardé et prêt, ouvrez la vue Ant: Window > Other Views.. > Ant > Ant. Faîtes un glisser-déplacer de votre fichier Ant vers la vue Ant pour l'y ajouter. Faîtes ensuite un double clic pour lancer la tâche Ant par défaut (flexPmdWithDefaultRuleset).

ant-pmd-step-3

Le détail du build va s'afficher dans la console. Si le build se passe correctement, vous trouverez votre fichier dans le répertoire "bin" de votre application. Vous pouvez bien sûr modifier cette tâche Ant à votre guise.

Visualiser le fichier pmd.xml

Le fichier pmd.xml est un rapport de données brut. Pour le visualiser, vous pouvez utiliser l'application FlexPMD Violation Viewer. Il vous suffit d'uploader votre fichier pmd.xml et l'application va afficher le détail des violations ainsi que les numéros de ligne concernées.

Accéder au FlexPMD Violation Viewer



Autres Tutoriaux Flex liés:

2 Réponses à “FlexPMD – Tutorial Invoquer FlexPMD avec Ant”


  1. 1 gg oct 1st, 2009 at 2:53

    Merci Fabien pour se tutorial.

    Juste pour info, maintenant la version est la 1.0.RC4. Aussi flex builder génère un dossier libs et non lib. Il faut donc ne pas oublier de modifier ces paramètres dans le fichier antpmd.xml comme dans l'exemple.

  2. 2 fnicollet oct 1st, 2009 at 13:29

    Merci pour l'info. En fait le projet sur lequel j'ai testé FlexPMD était un vieux projet à l'époque crée avec Flex Builder 2, qui ne créait pas de dossier libs ;) . Il reste quand même que le dossier libs de Flex Builder devrait rester pour inclure des SWC sans devoir les ajouter au build à la main et pas forcement pour des jar. Après c'est une question d'organisation.

    Fabien

Laisser un commentaire

Si vous souhaitez poster du code ActionScript, mettez le entre des balises comme ceci [as]code[/as]. Pour du code MXML, mettez le dans des balises [mxml]code[/mxml]. Merci




Bientôt sur flex-tutorial.fr …

  • - Tutoriaux BlazeDS
  • - Composants Flex

tutorial flex tutorial flex

flex Adobe Air AFCS Data Filter Lib ToasterLib librairies AS3 Flex livres AS3 Flex

 

septembre 2009
L Ma Me J V S D
« août   oct »
 123456
78910111213
14151617181920
21222324252627
282930  

Catégories