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 pris 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.

Image non disponible

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. Ainsi, par exemple, le site E-Commerce O'Reilly ou les principaux IDEs 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 astraintes à 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 !

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é.

Image non disponible

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 lapse 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 primordiale. L'utilisation de logiciels tiers tels que Maven est alors conseillée.

VI. RÉFÉRENCES

VII. REMERCIEMENTS

Je tiens à remercier Aet Ukyuu pour sa relecture.