La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Ant Introduction Jean-Jacques LE COZ. Outils de construction de projets ➢ Pour livrer un produit logiciel ➢ Compiler ➢ Documenter ➢ Packager ➢ Déployer.

Présentations similaires


Présentation au sujet: "Ant Introduction Jean-Jacques LE COZ. Outils de construction de projets ➢ Pour livrer un produit logiciel ➢ Compiler ➢ Documenter ➢ Packager ➢ Déployer."— Transcription de la présentation:

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


Télécharger ppt "Ant Introduction Jean-Jacques LE COZ. Outils de construction de projets ➢ Pour livrer un produit logiciel ➢ Compiler ➢ Documenter ➢ Packager ➢ Déployer."

Présentations similaires


Annonces Google