Apache Ant

Ant est un logiciel créé par la fondation Apache qui vise à automatiser les opérations répétitives du développement de logiciel telles que la compilation, la génération de documents (Javadoc) ou l'archivage au format JAR, à l'instar des logiciels Make.

Pour les articles homonymes, voir Ant.

Ant
Informations
Développé par Apache Software Foundation
Première version et [1]
Dernière version 1.10.11 ()[2]
Dépôt git-wip-us.apache.org/repos/asf/ant.git et gitbox.apache.org/repos/asf/ant.git
Écrit en Java
Système d'exploitation Multiplateforme
Environnement Windows, Linux
Type Moteur de production
Licence Licence Apache
Site web ant.apache.org

Ant est écrit en Java et son nom est un acronyme pour « Another Neat Tool » (un autre chouette outil). Il est principalement utilisé pour automatiser la construction de projets en langage Java, mais il peut être utilisé pour tout autre type d'automatisation dans n'importe quel langage.

Parmi les tâches les plus courantes, Ant permet la compilation, la génération de pages HTML de documentation (Javadoc), la génération de rapports, l'exécution d'outils annexes (checkstyle, FindBugs, etc.), l'archivage sous forme distribuable (JAR, etc.)

Histoire

Ant a été conçu par James Duncan Davidson (en) lorsqu'il transférait vers l'open source un produit de Sun. Ce produit, et le moteur JSP/Servlet de Sun Apache Tomcat, sont arrivés plus tard. L'outil propriétaire make était utilisé pour le compiler sur le système d'exploitation Solaris de Sun, mais dans le monde de l'open source il n'est pas possible de contrôler quelle plateforme est utilisée pour compiler Tomcat. Ant a été créé pour être simplement un outil indépendant du système d'exploitation pour compiler Tomcat à partir des directives contenues dans un fichier XML "build file". Ant (version 1.1) est officiellement disponible comme produit à part entière depuis le .

Il commence à devenir le projet de soutien de l'open source Java ; les développeurs prévoient un fichier build.xml pour tous les projets. De plus, l'outil a permis d'intégrer plus facilement les tests JUnit au processus de compilation, rendant les développeurs plus disposés à adopter le Test Driven Development, et l'Extreme Programming.

Portabilité

Un des principaux objectifs de Ant était de résoudre le problème de la portabilité complète du développement en Java. Dans un Makefile, les actions requises pour effectuer une tâche sont spécifiées comme étant des commandes shell, qui sont propres à une certaine plate-forme (celle d'exécution).

Ainsi, lorsque l'on souhaite déployer son application sur plusieurs plates-formes, il est nécessaire de complexifier, ou de produire plusieurs Makefile pour satisfaire chacun de ces environnements. Ant a résolu ce problème en fournissant par défaut un panel de fonctionnalités, qui auront le même comportement sur tous les systèmes.

Par exemple, dans un Makefile on peut rencontrer la règle suivante, dans un environnement UNIX :

clean:
    rm -rf classes/

Alors que sous Windows par exemple, la même règle s'écrit :

clean: 
    rmdir /S /Q classes

Dans un fichier Ant, une seule directive est commune pour tous les systèmes supportés par le logiciel : <delete dir="classes"/>

Une des principales différences entre les plates-formes est également le délimiteurs d'éléments dans un système de fichiers : les environnements UNIX utilisent la barre oblique (/), alors que MS Windows utilise la barre oblique inversée (\). Ant permet aux développeurs de choisir la convention qu'ils souhaitent, et effectuera la conversion de façon transparente à l'exécution, en fonction de la plate-forme.

Alternatives

  • Apache Maven : Compilation de source Java, gestion de dépendances, déploiement des artifacts générés.
  • SCons : Compilation de sources Java, C, C++ grâce à des scripts Python.
  • Make : Compilation et construction de fichiers automatisés.
  • CMake : Compilation, construction de fichiers automatisés et création de fichiers pour les EDI[3].

Notes et références

  1. « https://projects.apache.org/json/projects/ant.json » (consulté le )
  2. (en) « [ANN] Apache Ant 1.9.16 and 1.10.11 Released », (consulté le )
  3. « CMake to compile java code », sur Stack Overflow (consulté le ).

Annexes

Article connexe

Liens externes

  • Portail des logiciels libres
  • Portail de la programmation informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.