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

Slides:



Advertisements
Présentations similaires
Hiver 2010JGA Beaulieu GEF 243B Programmation informatique appliquée Structure de base des programmes en C.
Advertisements

GEF 243B Programmation informatique appliquée
Le struts validator – framework de validation
IntroductionArchitecturesPropriétésTâches ANT Apports par rapport à uPortal Un seul fichier de configuration Ajout de librairies Ajout de CAS comme méthode.
Tomcat et son fonctionnement XML
JEE Approfondi Frameworks : Maverick (MVC) JiBX (Persistance XML)
Introduction à Eclipse
Transformation de documents XML
Réalisé par: Lakhdhar yessin Letaief Sana
Dimensions et Java : Plug-in, Build et EAR Elisabeth BAUDOIN STIME CLUB UTILISATEURS ALMA DU 23 NOVEMBRE 2010.
TER Gestionnaires de contenu en ligne
Premiers pas avec Apache Ant Par Guillaume BITAUDEAU Le 16/10/2003.
Paquetages: Définitions Les classes Java sont regroupées en paquetages (packages en anglais) Ils correspondent aux « bibliothèques » des autres langages.
Outils de développements
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
Framework Avancement au Plan Principales avancées pour les parties Ligand, Sites Actifs et Docking Processus dinstallation de.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Projet J2EE Maverick XMLBeans Garcel Jean-Baptiste – Le Loc Martin – Muller Thibaut.
Systèmes d’exploitation
Installation OpenBravo
Principes de programmation (suite)
Outils de tests, logs et documentation Frédéric Moalannée 2010/2011 POO.
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
XML-Family Web Services Description Language W.S.D.L.
Atelier IDE Linux Emacs + JDEE + ANT. (X)Emacs Histoire Emacs signifie Editor MACroS. Projet initié en 1976 par Richard StallMan au MIT poursuivi par.
Génération automatique du code d'un device UPnP Utilisation de l'utilitaire de Didier Donsez Présentation écrite par Michel DHooge.
Les instructions PHP pour l'accès à une base de données MySql
Programmation Orientée Objet
Laboratoire d'Informatique de l’Université de Franche-Comté
Algorithmique et Programmation
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Des outils pour le développement logiciel
Notions sur le XML Réfs : manuel p 149. Introduction Le XML (eXtensible Markup Language) est un standard d'échange de données. Il fait partie comme le.
Introduction Création d'un projet Ajout de fichiers Compilation Exécution Utiliser le débogueur Département dinformatique et de génie logiciel Développer.
Création d'un projet Web avec Netbeans
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections 15.5.
Module : Technologies des serveurs réseaux : FTP Dynamic Host Configuration Protocol Présenter par : Mounir GRARI.
PRESENTATION DU LOGICIEL CAPTURE SYSTEM (retour d’expériences) S. BOUDON F.LARRAS Groupe des DM des CLCC - Rencontres des 6 et 7 mai 2010, Marseille.
Jean-Michel ILIE - novembre SIL - module M12 Programmation Internet en PHP SIL module M12 Jean-Michel Ilié IUT Paris 5 - département informatique.
Module I-C3 : Applications Web IUT R&T 2e année
Guillaume TORRENTE Marc BOUISSOU Recherche & Développement
Programmer en langage c
Elabore par BELKADHI ABIR BEN HASSEN SALMA CHEBBI MARWA
Créer des packages.
Tutorat en bio-informatique
Les paquetages.
1 Système d’exploitation Les scripts csh 1 ère Année Année Tienté HSU.
Gradle permet d'écrire des tâches de constructions dans un fichier de construction en utilisant le langage Groovy Il est possible.
Introduction au langage JAVA
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
Module : Langage XML (21h)
Permissions NTFS.
Conception de Programmes - IUT de Paris - 1ère année Conception de Programmes Objectifs et organisation du cours Introduction à la P.O.O.
Master 1 SIGLIS Systèmes d’Information pour l’entreprise – Java RMI Stéphane Tallard Mise en œuvre de l’exemple Bonjour RMI Master 1 SIGLIS1 Intégration.
IFT313 – Introduction aux langages formels Eric Beaudry Département d’informatique Université de Sherbrooke Laboratoire sur JFLEX Été 2010.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 2 – Java Premiers pas Master 1 SIGLIS1 Java Lecteur - Chapitre 2 - Java Premiers Pas.
Hiver 2004SEG2501 Chapître 41 Chapître 4 SDL – structure d’un système et son comportement.
13/07/2015 JSF Java Server Faces Master 2 Pro GLR TER David Mihura Eric Le Merdy.
Introduction à MathML Par Katia Larrivée UQO Le 18 mars 2004.
1 Complément JAVA 1 - Eclipse. 2 Plan Notion d'environnement de développement Interface d'Eclipse Utiliser Eclipse Éditeur de code Fonctionnalité supplémentaire.
Présentation de Qt Iris 1
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 3.
Introduction à Java Caractéristiques principales Environnement Java Environnement de développement Compilation et exécution.
05/02/98WEB ESNIG Liste de valeurs « LOV » Oracle Designer/2000 & Oracle Web Server.
ETM IBN ROCHD Présenté par : Mlle KHETTAR Lamia & Mlle AIT SAADA Kahina Novembre 2012.
Visual Information Solutions IDL 7.0 Pour une utilisation optimale d’IDL.
WHAT IS THIS ? Serveur d’intégration Environnement JAVA Open Source Ou logiciel d’intégration continue.
Transcription de la présentation:

Ant Introduction Jean-Jacques LE COZ

Outils de construction de projets ➢ Pour livrer un produit logiciel ➢ Compiler ➢ Documenter ➢ Packager ➢ Déployer ➢ Automatisation de ces tâches ➢ Make, Ant

Ant pour Java ➢ Outil populaire chez les développeurs ➢ Facile ➢ Souple ➢ Utilisation ➢ Standalone ➢ Intégrée dans un IDE

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

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

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

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 :

Ant : dépendances ➢ Dépendances entre target Exécutée en premier Exécutée en dernier

Description et commentaires ➢ Description ➢ Par une section ➢ Commentaires ➢ Par les commentaires XML premier projet avec ANT

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 :

Propriétés déjà définies ➢ java.class.path ➢ os.name ➢ user.name ➢ user.home ➢ ant.version ➢ ant.file ➢ ant.project.name

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

Définition des dépendances ➢ Le build est divisé en target ➢ Exemple

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

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

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

Écrire un build.xml (1) ➢ Compilation ➢ Section ➢ Autres attributs de la section javac

É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"/>

Écrire un build.xml (3) ➢ Créer une archive jar ➢ Section ➢ Exemple :

Écrire un build.xml (4) ➢ Créer une archive jar (suite) ➢ Avec un manifest ➢ Exemple :

Exemple de build.xml (1) A simple Java project

Exemple de build.xml (2)

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 jar

Time-stamp (2) ➢ Propriétés ➢ Invoquées et initialisées avec la section ➢ Au début du build

Opérations sur le système de fichiers (1) ➢ Gestion de fichiers et répertoires ➢ Création et suppression de répertoires ➢

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 ➢

Opérations sur le système de fichiers (3) ➢ Création de fichiers zip et tar ➢

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.

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

Opérations sur le système de fichiers (6) ➢ Exécution de fichiers ➢ Fichiers.class ➢ Section ➢ Fichiers binaires ➢ Section ➢ Exemple :

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

Méta-caractères ➢ Ant accepte les wildcards ➢ Même sémantique que UNIX ➢ Caractères * et ? ➢ Exemple :

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

Ressources ➢ Web ➢ Le site d'apache : ➢ 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