http://www.irit.fr/~Philippe.Truillet
Ant
Ph. Truillet
Septembre 2016 v. 1.3
Ant (http://ant.apache.org) est un outil créé par la fondation Apache qui permet de gérer la construction dune
application. Le nom est un acronyme pour « Another Neat Tool » (un autre chouette outil). A lorigine, Ant est un sous-projet
de Jakarta puis est depuis devenu lun des projets majeurs de la fondation, de par son utilité et sa popularité.
Ant peut se comparer à la commande make (même rôle, mêmes fonctionnalités) et Apache maven
(http://maven.apache.org - qui fournit des moyens de configuration plus simples). Il offre lavantage de pouvoir
intégrer des tests tout du long du processus de construction (avec JUnit par exemple), dêtre multi-plateforme (Java oblige)
et dêtre extensible de multiples manières.
Couplé à des systèmes de gestion de version comme CVS ou SVN, Ant permet par exemple de créer des « nightly builds » :
chaque nuit, sur une machine donnée, il compile lensemble des fichiers sources dun projet ensemble, et fait son rapport
au(x) développeur(s). Cela permet de générer des versions utilisables, de tester les lignes de code de la journée, et de faire
passer une batterie de tests à lensemble du projet - le tout sans intervention humaine. Lorsque léquipe de développement
arrive le lendemain, le rapport de Ant peut leur permettre de cerner les erreurs, ou de constater que le programme se compile
parfaitement et est fonctionnel.
1. Installation
Après avoir téléchargé une distribution du produit (dernière version publiée : 1.9.7 au 12 avril 2016) à l’adresse
http://ant.apache.org/bindownload.cgi et lavoir décompressé dans son répertoire définitif, il faut créer les
trois variables denvironnement nécessaire au fonctionnement d’Ant.
Par exemple, sous Windows au lancement du script dans un fichier .bat, ou via longlet « Avancé » des propriétés système
(Menu Démarrer | Panneau de configuration | Système | Paramètres Système Avancés | Variables d’environnement):
SET ANT_HOME=C:\ant
SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0_10 (chemin vers la jdk)
SET PATH=%PATH%;%ANT_HOME%\bin
2. Utilisation
2.1 le fichier build.xml
Ant permet de gérer lensemble des travaux à laide dun fichier XML nommé build.xml, spécifique à chaque projet, qui
permet de spécifier les cibles, dépendances, conditions, opérations et paramètres de la construction.
<project name="monprojet" default="dist" basedir=".">
<description>Construction de mon projet</description>
<!-- set global properties for this build -->
<property name="src" location="src"/>
<property name="build" location="build"/>
<property name="dist" location="dist"/>
<property name="doc" location="doc"/>
<target name="init">
<!-- Create the time stamp -->
<tstamp/>
<!-- Create the build directory structure used by compile -->
<mkdir dir="${build}"/>
</target>
<target name="compile" depends="init"
description="compile the source " >
<!-- Compile the java code from ${src} into ${build} -->
<javac srcdir="${src}" destdir="${build}" classpath="${build};." />
</target>
Page 2
Apache Ant
<target name="dist" depends="compile"
description="generate the distribution" >
<!-- Create the distribution directory -->
<mkdir dir="${dist}/lib"/>
<!-- Put everything in ${build} into the monprojet_version.jar file -->
<jar jarfile="${dist}/lib/monprojet.jar" basedir="${build}"/>
</target>
<target name="javadoc" depends="init,compile,dist" description="Create the javadoc" >
<!-- Javadoc the java code from ${src} into ${doc} -->
<!-- Create the distribution directory -->
<mkdir dir="${doc}"/>
<javadoc destdir="${doc}" author="true" version="true">
<classpath path="${lib}" />
<source file="${src}/monprojet.java" />
<package name="fr.irit.ihcs.util "/>
<sourcepath location="${src}" />
</javadoc>
</target>
<target name="clean"
description="clean up" >
<!-- Delete the ${build} and ${dist} directory trees -->
<delete dir="${build}"/>
<delete dir="${dist}"/>
<delete dir="${doc}"/>
</target>
<target name="demo" depends="init,compile,dist" description="Runs the demo monprojet>
<java classname="fr.irit.ihcs.util.monprojet" classpath="${dist}/lib/monprojet_1.0.jar" fork="true"/>
</target>
</project>
Exemple de fichier build.xml
Ce fichier build.xml est assez simple facile à lire : on arrive à deviner quelles sont les tâches décrites ici : init, compile,
dist, javadoc, clean et demo.
Lattribut default de la balise globale project permet de pointer vers la balise target à exécuter. Etant donné que, via
lattribut depends, chaque balise target dépend de la précédente, on permet ainsi le parcours de toutes les opérations à
accomplir. De son coté, la cible init, qui sert à initialiser certaines propriétés (une sorte de constructeur, donc) est toujours
appelée en premier.
Bien quoptionnel, cet attribut depends se rend très utile car il permet donc de conditionner les tâches du fichier : une tâche
donnée ne sera exécutée que si celle dont elle dépend est terminée, et ainsi de suite.
Nota : Les commandes deltree, mkdir et javac, bien que connues, font en fait appel à des fonctions de Ant. Ant dispose
d’ailleurs un bon nombre de commandes : copydir, jar, javadoc...
2.2 commandes ant
Une fois le fichier XML construit et placé dans son dossier de projet, il suffit ensuite de taper ant dans la console pour
construire lapplication.
Il est toutefois possible de lui donner une « cible » pour n’accomplir qu’une des tâches définies dans le fichier build.xml
comme ant compile pour compiler les sources ou ant demo pour lancer l’application
3. Références
Développons en java : http://www.jmdoudoux.fr/java/dej/chap059.htm
Apache Ant 19.2 Manual, http://ant.apache.org/manual/index.html
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !