Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parFlorentin Boutin Modifié depuis plus de 8 années
1
Ant Introduction Jean-Jacques LE COZ
2
Outils de construction de projets ➢ Pour livrer un produit logiciel ➢ Compiler ➢ Documenter ➢ Packager ➢ Déployer ➢ Automatisation de ces tâches ➢ Make, Ant
3
Ant pour Java ➢ Outil populaire chez les développeurs ➢ Facile ➢ Souple ➢ Utilisation ➢ Standalone ➢ Intégrée dans un IDE
4
Ant : produit Open Source ➢ Produit ➢ Groupe Open Source Apache ➢ Auteur : James Duncan Davidson ➢ Acronyme de « another neat tool » ➢ Écrit en Java ➢ Licence : Apache Software Licence Version 2.0
5
Ant et Make ➢ Comparaison avec Make ➢ Même notion de dépendances entre tâches ➢ Contrairement à Make, Ant est indépendant vis à vis de la plateforme ➢ Ant est extensible
6
Ant : historique ➢ Au début Ant était un composant de Tomcat ➢ Devient un sous-projet de Apache Jakarta ➢ Première version en juillet 2000 ➢ Succès et standard de fait ➢ Promue en novembre 2002 comme projet à part entière. ➢ Version actuelle : 1.6.1
7
Anatomie d'un fichier Ant ➢ Par défaut un fichier Ant a pour nom build.xml ➢ Fichier XML ➢ Division en fonctions appelées target ➢ Dépendance entre target ➢ Exemple :
8
Ant : dépendances ➢ Dépendances entre target Exécutée en premier Exécutée en dernier
9
Description et commentaires ➢ Description ➢ Par une section ➢ Commentaires ➢ Par les commentaires XML premier projet avec ANT
10
Ant : propriétés ➢ Propriété ➢ Déclarée dans une section ➢ Définie par un couple nom + valeur ➢ Le nom sert de référence dans le reste du build ➢ ${metal} ➢ La valeur est immutable ➢ Exemple :
11
Propriétés déjà définies ➢ java.class.path ➢ os.name ➢ user.name ➢ user.home ➢ ant.version ➢ ant.file ➢ ant.project.name
12
Noms d'attributs déjà définis ➢ Attribut file ➢ Permet de lire les propriétés à partir d'un fichier ➢ Attribut environment ➢ Permet d'accéder aux variables d'environnement avec pour préfixe le nom de la propriété ➢ Exemple
13
Définition des dépendances ➢ Le build est divisé en target ➢ Exemple
14
Exécuter Ant ➢ Par ligne de commande ➢ Unix, Linux ou Windows ➢ $>ant ➢ Au sein d'un environnement de développement ➢ IDE multiples et variés ➢ Jedit, Jext, Jbuilder, IntelliJ IDEA, JDEE (Emacs), NetBeans, Eclipse,...
15
Sortie typique d'une exécution ➢ Exemple sur la sortie standard de la plateforme Buildfile: build.xml init: [mkdir] Created dir: E:\tutorials\ant\example\build [mkdir] Created dir: E:\tutorials\ant\example\dist compile: [javac] Compiling 8 source files to E:\tutorials\ant\example\build dist: [jar] Building jar: E:\tutorials\ant\example\dist\example.jarE:\ BUILD SUCCESSFUL Total time: 2 seconds
16
Options de la ligne de commande ➢ Par défaut le fichier de configuration a pour nom build.xml ➢ Sinon il faut l'option -buildfile ou -f ➢ L'option -D permet de positionner des propriétés ➢ Exemple : ➢ $>ant -Dmetal=acier
17
Écrire un build.xml (1) ➢ Compilation ➢ Section ➢ Autres attributs de la section javac
18
Écrire un build.xml (2) ➢ Compilation (suite) ➢ Ant peut être configuré pour utiliser des compilateurs différents et dans une JVM différente ➢ Jikes, GCJ,... ➢ Exemple : <javac srcdir="src" fork="true" executable="d:\sdk141\bin\javac" memoryMaximumSize="128m"/>
19
Écrire un build.xml (3) ➢ Créer une archive jar ➢ Section ➢ Exemple :
20
Écrire un build.xml (4) ➢ Créer une archive jar (suite) ➢ Avec un manifest ➢ Exemple :
21
Exemple de build.xml (1) A simple Java project
22
Exemple de build.xml (2)
23
Time-stamp (1) ➢ Marquage de fichiers avec le temps ➢ Exemple : ➢ ➢ Si la tâche est invoquée le 15 avril 2004 ➢ Le fichier jar est nommé : package-20040415.jar
24
Time-stamp (2) ➢ Propriétés ➢ Invoquées et initialisées avec la section ➢ Au début du build
25
Opérations sur le système de fichiers (1) ➢ Gestion de fichiers et répertoires ➢ Création et suppression de répertoires ➢
26
Opérations sur le système de fichiers (2) ➢ Gestion de fichiers et répertoires ➢ Copies, renommage et déplacement de fichiers et répertoires ➢
27
Opérations sur le système de fichiers (3) ➢ Création de fichiers zip et tar ➢
28
Opérations sur le système de fichiers (4) ➢ Modification du contenu des fichiers ➢ ➢ L'attribut summary=true permet d'afficher le nombre d'occurrences trouvées et remplacées.
29
Opérations sur le système de fichiers (5) ➢ Désignation d'un ensemble de fichiers ➢ Avec la section ➢ Attributs de ➢ Obligatoire : dir ➢ Optionnels : defaultexcludes, includes, excludes, followsymlinks
30
Opérations sur le système de fichiers (6) ➢ Exécution de fichiers ➢ Fichiers.class ➢ Section ➢ Fichiers binaires ➢ Section ➢ Exemple :
31
Chaînage de builds ➢ Il est possible de modulariser un build en plusieurs plus petits ➢ Évite l'aspect monolithique d'un seul build ➢ ➢ Par défaut les property sont héritées par les sous build ➢ L'attribut inheritAll=''false'' évite ce comportement
32
Méta-caractères ➢ Ant accepte les wildcards ➢ Même sémantique que UNIX ➢ Caractères * et ? ➢ Exemple :
33
Conclusion ➢ Outil très puissant ➢ S'affranchit des plateformes comme Java ➢ Utilisé avec Java Standard et Java J2EE ➢ Intégré dans tous les IDE du marché ➢ Utilisé dans les approches Xtrem Programming et MDA
34
Ressources ➢ Web ➢ Le site d'apache : www.apache.orgwww.apache.org ➢ Livres ➢ « ANT : The Definitive Guide » auteurs :Jesse Tilly, Eric M. Burke éditeur : O'Reilly ➢ « Java Development With Ant »auteurs : Eric Hatcher, Steve Loughranéditeur : Manning
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.