Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
FORUMS JAVA FAQs TUTORIELS JAVASEARCH SOURCES LIVRES OUTILS, EDI & API ECLIPSE NETBEANS BLOG DISCUSSIONS TV

Une courte introduction à Apache Ant


Date de publication : 09/01/2005


SYNOPSIS

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.

  1. INTRODUCTION
  2. ÉVOLUTION DU PROJET
  3. UN CHOIX RAISONNÉ
  4. LE CONCEPT
  5. LES LIMITES
  6. RÉFÉRENCES
  7. REMERCIEMENTS



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




2. É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. A 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.





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


Critique sur Developpez.com

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




4. 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)




5. 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 strictes 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.




6. RÉFÉRENCES








7. REMERCIEMENTS


Je tiens à remercier Aet Ukyuu pour sa relecture.




Ce document est issu de www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.


Responsables bénévoles de la rubrique Java : Christophe Jollivet et Eric Siber - Contacter par EMail :
Vos questions techniques : forum d'entraide Java - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.