Fourmi : une petite chose qui peut construire de grandes choses.

Besoin

Offrir un outil semblable à make mais portable et extensible grâce à Java.

Conception

Ant exécute :

Tout projet est paramétrable via les propriétés système de Java.

Implémentation

Tout projet Ant est défini via un fichier XML.

Ant peut lire une propriété système via la syntaxe ${nomPropriété}. Cela lui permet de lire les propriétés fixées par la plate-forme Java (${java.class.path} par exemple) comme les propriétés que vous ajoutez (via un fichier .properties ou des arguments -Dpropriété=valeur sur la ligne de commande).

Ecriture d'une tâche

Chaque tâche Ant est réalisée par une classe implémentant l'interface Task.

Notes

Exemples

Un exemple de script Ant est :

<project name="MyProject" default="dist" basedir=".">

<description>Exemple simple de script Ant</description>

<!-- Fixe les propriétés globales pour ce script -->
<property name="src" location="src"/>
<property name="build" location="build"/>
<property name="dist" location="dist"/>

<target name="init">
<!-- Crée l'horodatage -->
<tstamp/>
<!-- Crée la structure de répertoires de destination de compilation -->
<mkdir dir="${build}"/>
</target>

<target name="compile" depends="init" description="Compile les sources" >
<!-- Compile le code source Java depuis ${src} vers ${build} -->
<javac srcdir="${src}" destdir="${build}"/>
</target>

<target name="dist" depends="compile" description="Génère la distribution" >
<!-- Crée le répertoire de distribution -->
<mkdir dir="${dist}/lib"/>
<!-- Met tout ce qui est dans ${build} dans le fichier MyProject-${DSTAMP}.jar -->
<jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}"/>
</target>

<target name="clean" description="Nettoyage" >
<!-- Efface les arborescences de ${build} et ${dist} -->
<delete dir="${build}"/>
<delete dir="${dist}"/>
</target>

</project>

Limitations

Voir