Premiers pas avec Apache Ant Par Guillaume BITAUDEAU Le 16/10/2003
Plan de la présentation Quest-ce que cest ? Pourquoi refaire un Make ? Installation Notions de bases et fonctionnement Exemple Créer sa propre tache Utilisation dans Eclipse Avantages/défauts Bibliographie
Quest-ce que cest ? « Another Neat Tool » … Un outil ressemblant à Make Entièrement en java Réalisé par James Duncan Davidson pour compiler Tomcat Licence « Apache Software license »
Pourquoi refaire un Make ? Multi plateforme Pour les règles utilisées Pour son fonctionnement Fichiers XML Extensible en Java Peut quand même exécuter une ligne de commandes !!!
Installation Télécharger la dernière version à partir du site : Décompresser larchive Mettre à jour les variables denvironnement : ANT_HOME=c:\ant JAVA_HOME=c:\jdk1.2.2 PATH=%PATH%;%ANT_HOME%\bin
Notions de bases et fonctionnement : les trois types principaux Un fichier par projet : build.xml Un « projet » par fichier Plusieurs « target » par « projet » <target name="compile" depends="init" description="compile the source " if/unless="maPropIsSet"/ > Chaque target nest exécuté quune seule fois Plusieurs « task » par « target »
Notions de base et fonctionnement : les tasks indispensables (suite) Les « property » : 5 méthodes pour les initialiser (valeur, réf, properties/ressource java, environnement) Non modifiables Utilisation :
Notions de base et fonctionnement : les tasks indispensables (suite) Les « PatternSet » Utilisation de *,?,**,/ Attention aux exclusions par défaut
Notions de base et fonctionnement : les tasks indispensables (suite) Les « Selectors »
Notions de base et fonctionnement : les tasks indispensables (suite) Les « token filtrers » Attention aux fichiers non ASCII !!!
Notions de base et fonctionnement : les principales catégories de tasks (fin) Archive Tasks Compile Tasks Deployment Tasks Documentation Tasks Execution Tasks File Tasks Remote Tasks Testing Tasks …
Exemple simple example build file
Exemple (suite) <target name="compile" depends="init" description="compile the source " > <target name="dist" depends="compile" description="generate the distribution" >
Exemple (fin)
Créer sa propre tache : le.java import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; public class MyVeryOwnTask extends Task { private String msg; public void init () { //nothing to do } public void execute() throws BuildException { System.out.println(msg); } public void setMessage(String msg) { this.msg = msg; } } 2 3 (les conversions sont faites par Ant) 4 1
Créer sa propre tache : le.xml (fin) <project name="OwnTaskExample" default="main" basedir="."> Le.java peut être complété pour : Supporter lintégration dans un GUI Faire des tâches plus complexes
Utilisation dans Eclipse Editeur spécialisé Exécution de Ant intégrée à Eclipse
Avantages / Défauts Multi plateforme. Documentations nombreuses sur Internet. Extensible. XML facilement lisible. De plus en plus doutils comme Eclipse le supportent Outil encore jeune. Compatibilité entre les différentes versions. Performances?
Bibliographie Pour Ant : Le Site officiel de Ant : Pour Ant et Eclipse : Le manuel dEclipse « Développons en java » de Jean Michel DOUDOUX : ndexavecframes.htm ndexavecframes.htm