FlexFormatter – Formatter du code AS3 / MXML avec le plugin Flex Formatter pour Eclipse / Flex Builder
De base, Flex Builder ne fournit pas d'outil pour formatter et indenter le code. Heureusement, la plate-forme Eclipse est extensible et permet d'ajouter des plugins facilement. Il existe un plugin pour formatter le code de vos projet Flex nommé FlexFormatter.
Cet outil est OpenSource et gratuit. Pour le télécharger, rendez-vous sur la page sourceforge du projet:
Télécharger FlexFormatter (plugin Eclipse / Flex Builder)
Installer FlexFormatter dans Flex Builder 3 / Eclipse
Pour installer FlexFormatter, c'est très simple. Tout d'abord, dézippez l'archive que vous venez de télécharger. Vous devriez avoir 3 fichier JAR:

Copiez ces 3 fichiers jars directement dans le répertoire "plugins" de votre installation d'Eclipse ou de Flex Builder:

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):

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:

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:

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>





