Fourmi : une petite chose qui peut construire de grandes choses.
Offrir un outil semblable à make mais portable et extensible grâce à Java.
Ant exécute :
Tout projet est paramétrable via les propriétés système de Java.
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).
Chaque tâche Ant est réalisée par une classe implémentant l'interface Task.
<exec>| Ant | Version | 1 | 2 | Commentaire | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Release | 1 | 2 | 3 | 4 | 5 | 0 | ||||
| Domaine | Fixpack | 0 | 1 | 0 | 1 | |||||
| Ant | Sous-projet | ant
|
||||||||
| Appel de cible | Non | antcall |
||||||||
| SGBD | SQL | Non | sql
|
|||||||
| Propriétés | property
|
Constantes ou lecture depuis un fichier | ||||||||
| Archives | JAR | jar
|
||||||||
| WebApp | Non | war
|
||||||||
| Enterprise ARchive | Non | ear
|
||||||||
| Exécution | JVM | java
|
Possibilité d'utiliser la JVM exécutant Ant ou une autre (fork), permettant ainsi de fournir des jvmargs (classpath, -D, etc.) | |||||||
| Programme externe | exec
|
|||||||||
| Développement | Compilation | javac |
||||||||
| Documentation | API Java | Non | javadoc |
|||||||
| Système de fichiers | Déplacement | Non | move |
|||||||
| Renommage | rename |
|||||||||
| Renommage d'extension | renameext |
|||||||||
| Copie de fichier | copyfile |
copy |
||||||||
| Copie de répertoire | copydir |
|||||||||
| Suppression de répertoire | deltree |
delete
|
||||||||
| Supression | Non | |||||||||
| Création de répertoire | mkdir |
|||||||||
| Qualité | Audit de code | jdepend
|
Optionnel | |||||||
| Tests unitaires | junit |
JUnit doit se trouver dans le classpath | ||||||||
| Déploiement | J2EE | serverdeploy
|
Générique, Jonas 2.4, WLS | |||||||
| EJB | ejbjar |
Optionnel. BES 4.5, iPlanet 6.0, JBoss 2.1 et ultérieurs, WLS 5.1/6.0 avec weblogic.ejbc, WAS 4.0, TOPLink for WLS 2.5.1, JOnAS 2.4.x et 2.5 | ||||||||
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>