Tutoriel sur une introduction rapide à Apache Ant

L'équipe Java

Bien que je n'apprécie guère le XML, en partie à cause des problèmes de performance et de maintenance de code qu'il engendre, je l'ai découvert en 2001 par le biais d'une formidable solution nommée Another Neat Tool (Ant). Cette dernière, Build Tool Open Source, était alors en passe de représenter pour le monde Java ce qu'était déjà Make pour celui du C.

Pour réagir au contenu de cet article, un espace de dialogue vous est proposé sur le forum Commentez . ♪

- Titre : Tutoriel sur une introduction rapide à Apache Ant

- Auteur : L'équipe Java

- Parution : 9 janvier 2005

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2013 L'équipe Java. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. INTRODUCTION

- II. ÉVOLUTION DU PROJET

- III. UN CHOIX RAISONNÉ

- IV. LE CONCEPT

- V. LES LIMITES

- VI. RÉFÉRENCES

- VII. REMERCIEMENTS

I - INTRODUCTION

Le 18 novembre 2002, le projet Ant fût promu au rang de Top Level Apache Project par la résolution R3 adoptée par la fondation Apache (v. aussi licence Apache 2 -01/03/2004). Débuté comme une sous tâche du projet Apache Jakarta, ce dernier prit ainsi une dimension nouvelle (cf. : http://ant.apache.org). Or, il ne devait pas connaître un tel essor à son origine. En effet, conçu par James Duncan Davidson, il n'était alors question que de construire le célèbre serveur Web du même auteur Tomcat de manière fiable. Mais rapidement, un certain engouement de la part de la communauté Open Source lui permit d'évoluer et de se répandre à travers le monde Java.

II - ÉVOLUTION DU PROJET

Les changements entre versions sont nombreux et il faudrait un article dédié à ces derniers pour être complet sur ce sujet ; un jour peut-être… En règle générale, de nouvelles tâches sont ajoutées, les bugs sont supprimés et le déploiement d'applications se simplifie. Le projet évolue sensiblement à la même vitesse que le JDK de SUN. À titre d'exemple, depuis la version 1.5 de Ant, le JDK1.4 est supporté.

Version

Date de sortie

1.1

19/07/2000

1.2

24/10/2000

1.3

03/03/2001

1.4

03/09/2001

1.4.1

11/10/2001

1.5

10/07/2002

1.5.1

03/10/2002

1.5.2

03/03/2003

1.5.3

09/04/2003

1.5.4

12/08/2003

1.6.0

18/12/2003

1.6.1

12/02/2004

1.6.2

16/07/2004

Dans un même temps, un projet Ant 2 basé sur l'interface Antidote devait être élaboré, mais il semblerait qu'il ne voit jamais le jour.

III - UN CHOIX RAISONNÉ

Ant est gratuit et librement diffusable. Vous pouvez le télécharger, le copier, l'intégrer à vos projets ou réaliser des produits commerciaux sans avoir à reverser une partie de vos gains à la fondation. Par exemple, le site E-Commerce O'Reilly ou les principaux IDE comme Eclipse, JBuilder, Netbeans ou WebSphere Studio Application Developer l'ont parfaitement intégré à leur infrastructure.

Ant est Open Source, les sources sont ainsi lisibles, mais astreintes à la licence Apache 2. Vous pouvez ainsi utiliser une partie du code dans la mesure où vous l'indiquez dans votre projet. Ainsi, près d'une vingtaine de projets officiels possèdent cette brique de base. À vous de jouer pour augmenter ce nombre !

AndroMDA

AntContrib

Antelope

AntHill

Antlion

Antworks

BuildMonkey

CruiseControl

Invicta

JAM

luntbuild

NAnt

Rant

Savant

XML Publication

yEd

Ant est portable, il fonctionne aussi bien sous Linux, Solaris, Windows 9x/NT/XP, sous Novell Netware 6 ou MacOS X.

Ant est populaire puisqu'il est supporté à la fois par de grandes firmes commerciales comme IBM, SUN ou BEA et par la communauté Open Source. Il fait l'objet de forums très fréquentés par la communauté internationale, ainsi que de listes de diffusions. De nombreux articles à son sujet sont d'ailleurs accessibles via le World Wide Web et plusieurs ouvrages ont d'ores et déjà été publiés.

Enfin, Ant est simple. Nous pourrons l'apprécier ensemble par la suite.

IV - LE CONCEPT

Avant l'apparition de Ant, les « builds » Java étaient réalisés à l'aide de scripts SHELL/BATCH, de Make ou sous un IDE. (En cours de mise à jour).

V - LES LIMITES

Dans de grandes infrastructures logicielles où de multiples développeurs prennent part au code, les librairies développées par les uns et utilisées par les autres deviennent inévitablement interdépendantes. Les cycles de déploiement sont à la fois stricts et intenses pour permettre à tout à chacun un développement simultané de chaque version. Ainsi, bien que Ant puisse faciliter une telle réalisation, le responsable du « build », en charge de bâtir les fichiers de construction, ne peut que difficilement répondre à sa tâche. Comment dans un court laps de temps, sans empêcher de nouvelles interventions des développeurs, peut-il alors connaître à la fois les librairies communes, les anciennes et nouvelles dépendances, parfois même extérieures, et éviter les cyclicités ?

Les projets Java doivent pouvoir être construits sur différents environnements : en local, sur un serveur ou chez le client. Il est alors indispensable de faire abstraction de cet emplacement comme il doit l'être, pour le développeur du fichier de construction. Bien que cela puisse se faire directement avec Ant, l'emploi d'une couche d'abstraction entre la logique de déploiement et celle de développement est primordial. L'utilisation de logiciels tiers tels que Maven est alors conseillée.

VI - RÉFÉRENCES

Apache Ant

Ant in anger

Java tools reign supreme

Open Source Java: Ant

Using Ant and WebLogic EJBs

VII - REMERCIEMENTS

Je tiens à remercier Aet Ukyuu pour sa relecture.