ANT et FlashDevelop (et bonus)

fd_logo

Je travaille actuellement sur un projet en Flash où plusieurs sous-projets compilés, dépendants d’un tronc commun, sont intégrés à l’appli finale. Je me suis adapté au pipe-line en place en passant sous FlashDevelop, que je n’avais pas utilisé depuis un moment. Belle évolution, très sympathique outil aujourd’hui.

Mais il me manquait ANT. ANT, c’est trop bien. Une fois que tu as joué avec la fourmie, difficile de s’en passer sur ce genre de développement, avec des compilations à tout va, des dépendances, … J’ai donc tatonné un peu pour intégrer le tout. La communauté semble efficace et les ressources nombreuses, je m’en tiens à un simple rassemblement d’infos et quelques ajouts maison fait en route. Recette cuite sous Windows 7 pro.

Ingrédients:

Action:

<separator />

<button label=”ANT Build” click=”RunProcessCaptured” image=”486″ tag=”c:\windows\system32\cmd.exe;/c $(Quote)cd $(ProjectDir)&amp;&amp;ant$(Quote)” />

Hop. Intégration faite!


Pour l’usage, vous aurez besoin du fichier build.xml, au moins. Voici un exemple:

<?xml version=”1.0″ encoding=”utf-8″ ?>

<project name=”MyProject” default=”CompileAndTestApp” basedir=”.”>

<description>Build MyProject</description>

<property name=”fdbuild” location=”C:\Program Files (x86)\FlashDevelop\Tools\fdbuild\fdbuild.exe”/>

<property name=”compiler” location=”D:\Programs\flex”/>

<property name=”library” location=”C:\Program Files (x86)\FlashDevelop\Library”/>

<property name=”flashviewer” location=”C:\Program Files (x86)\Adobe\Adobe Flash CS5\Players\Debug\FlashPlayerDebugger.exe”/>

<property name=”appswf” location=”${basedir}\bin\MyProject.swf”/>

<property name=”mylittleproject1″ location=”${basedir}\external_content\MyLittleProject1\MyLittleProject1.as3proj”/>

<property name=”mylittleproject2″ location=”${basedir}\external_content\MyLittleProject2\MyLittleProject2.as3proj”/>

<property name=”myproject” location=”${basedir}\MyProject.as3proj”/>

<target name=”MyLittleProject1″>

<echo message=”Compiling ${mylittleproject1}.”/>

<exec executable=”${fdbuild}” failonerror=”true”>

<arg value=”${mylittleproject1}”/>

<arg value=”-compiler”/>

<arg value=”${compiler}”/>

<arg value=”-library”/>

<arg value=”${library}”/>

</exec>

</target>

<target name=”MyLittleProject2″>

<echo message=”Compiling ${mylittleproject2}.”/>

<exec executable=”${fdbuild}” failonerror=”true”>

<arg value=”${mylittleproject2}”/>

<arg value=”-compiler”/>

<arg value=”${compiler}”/>

<arg value=”-library”/>

<arg value=”${library}”/>

</exec>

</target>

<target name=”MyProject”>

<echo message=”Compiling ${myproject}.”/>

<exec executable=”${fdbuild}” failonerror=”true”>

<arg value=”${myproject}”/>

<arg value=”-compiler”/>

<arg value=”${compiler}”/>

<arg value=”-library”/>

<arg value=”${library}”/>

</exec>

</target>

<target name=”compile” depends=”MyLittleProject1, MyLittleProject2, MyProject”>

<echo message=”Compiling ${myproject}.”/>

<exec executable=”${fdbuild}” failonerror=”true”>

<arg value=”${myproject}”/>

<arg value=”-compiler”/>

<arg value=”${compiler}”/>

<arg value=”-library”/>

<arg value=”${library}”/>

</exec>

</target>

<target name=”CompileAndTestApp”>

<antcall target=”compile” />

<antcall target=”TestApp” />

</target>

<target name=”TestApp”>

<exec executable=”${flashviewer}” failonerror=”true”>

<arg value=”${appswf}”/>

</exec>

</target>

</project>

Je n’en détaillerai pas l’usage ici, se référer au manuel de ANT pour plus de détail sur le fonctionnement d’un build.xml.

Un clic sur l’icône ajouté à la barre d’outils de FlashDevelop lancera donc cette procédure, et vous fournira la sortie dans le panneau FlashDevelop Output.

Pour aller plus loin, je viens de voir un plugin permettant d’accéder au détail d’un build et de lancer les sous-tâches sans passer par la console. Non testé, mais je vais le monter, c’est utile.

Ensuite, les bonus :)

svn_logo

Le premier :

Après quelques soucis avec TortoiseSVN, j’ai dégoté un client SVN console pour Windows. Et c’est bien pratique. Penser à ajouter le “bin” à votre “Path”.

Les complémentaires, via TED :

Post to Twitter Post to Facebook

Posted on July 20, 2010 at 00:25 by f4nf · Permalink
In: developpement, flash, matiere a penser, pro · Tagged with: , , , , , ,