Pour utiliser les conditions (if) et des boucles (for) avec ANT, téléchargez ANT Contrib.

ANT + Ant-contrib sous Eclipse

Décompressez le et lisez l'excellent tuto ant - Could not create task or type of type: for, dont voici l'essentiel : l'association de du package ant-contrib à ANT sous Eclipse :

Une fois les nouveaux paquets téléchargés, allez les associer aux 'entries Ant' d'Eclipse. Donc sous Eclipse, allez dans le menu Window->Preferences. Ouvrez la catégorie 'Ant' et sélectionnez le sous menu 'Runtime'. Là, dans l'onglet 'Classpath', sélectionnez votre 'Ant Home entries' qui indique le chemin de Ant (peut être /usr/share/ant suivant où il est installé sous votre système).

Si vous developpez le menu, vous verrez toutes les librairies utilisées par Ant. A partir de là, appuyer sur le bouton 'Add external jar' et ajoutez le fichier 'ant-contrib.jar' à cette liste. validez.

A présent, dans le fichier build.xml du projet. Ajoutez juste ces quelques lignes au début de votre fichier :

<taskdef resource="net/sf/antcontrib/antlib.xml">
	<classpath>
		<pathelement location="${ANT_HOME}/lib/ant-contrib.jar"/>
	</classpath>
  </taskdef>

Tache IF avec ant contrib, exemple :

<if>
 <equals arg1="${foo}" arg2="bar" />
 <then>
   <echo message="The value of property foo is bar" />
 </then>
 <else>
   <echo message="The value of property foo is not bar" />
 </else>
</if>
 
 
<if>
 <equals arg1="${foo}" arg2="bar" />
 <then>
   <echo message="The value of property foo is 'bar'" />
 </then>
 
 <elseif>
  <equals arg1="${foo}" arg2="foo" />
  <then>
   <echo message="The value of property foo is 'foo'" />
  </then>
 </elseif>
 
 
 <else>
   <echo message="The value of property foo is not 'foo' or 'bar'" />
 </else>
</if>

Ressources