Περιγραφή του Apache Ant



Σχετικά έγγραφα
09 Διοίκηση έργων λογισμικού

Τεχνολογία Λογισμικού

07 Διαχείριση έργων λογισμικού ΙΙ

CYGWIN Οδηγίες Χρήσης (Συγγραφέας: Γιώργος ούκας)

Δημιουργία μιας εφαρμογής Java με το NetBeans

03 Τεχνική διαχείριση έργων λογισμικού

Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795

Hase οδηγίες χρήσης.

CE121 Προγραµµατισµός 2. Εισαγωγή σε Makefiles. CE121 -

Τεχνολογία Λογισμικού

CE121 Προγραµµατισµός 2. Εισαγωγή σε Makefiles. CE121 -

Ταχύτερα compile με ccache και distcc

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

οµή της παρουσίασης Στατιστικά στοιχεία Άδειες χρήσης Γενικά στοιχεία Βασικά χαρακτηριστικά του browser

Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Hase οδηγίες χρήσης.

Αντικειμενοστρεφής Προγραμματισμός

Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ

Οδηγίες Εγκατάστασης και χρήσης προγραμμάτων για την γλώσσα C

Hase οδηγίες χρήσης.

Εισαγωγή στη Χρήση της Εφαρµογής Compaq Visual Fortran & του Microsoft Developer Studio

Προγραμματισμός Ι. Εργαστήριο 1 ο Περιβάλλον Εργασίας. Νικόλαος Δ. Τσελίκας Κυριακή Θ. Σεκλού

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

ιαχείριση Πληροφοριών στο ιαδίκτυο

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

To περιβάλλον Ανάπτυξης εφαρμογών της Visual Basic 2008 Express Edition

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στο Λ.Σ. UNIX

Οδηγίες εγκατάστασης και χρήσης Java σε προσωπικό υπολογιστή

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ UNIX

Microsoft Visual Studio Γιώργος Καµαρινός Developer Programs Marketing Manager Microsoft Hellas

Journal of the Graduate School of the Chinese Academy of Sciences. Application Dependent Software. Standard Application Components.

Βασίλειος Κοντογιάννης ΠΕ19

make Προγραμματισμός II 1

Οδηγι ες Χρη σης του MPICH στα Νέα LinuxXX.di.uoa.gr

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #0

Εισαγωγή στο προγραμματιστικό περιβάλλον ANSI

Σύντομη εισαγωγή στο Unix

ΕΙΣΑΓΩΓΗ και ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ μέσω CCS. (Α) Διαδικασία εισαγωγής των εργαστηριακών ασκήσεων

SocialSkip Service v2.0

ΔΗΜΙΟΥΡΓΙΑ & ΧΡΗΣΗ ΒΙΒΛΙΟΘΗΚΩΝ

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Επισκόπηση Λ.Σ. Εργαστηριακές Ασκήσεις

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Προγραμματισμός Ι. Πολλαπλά Αρχεία. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Ανάπτυξη εφαρμογής Input-Output

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial

Μεταφραστής (Compiler)

Σύντομη εισαγωγή στο Unix

Introduction to Java. Getting started, Java Basics. Prepared by Costantinos Costa for EPL 233. ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 1

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

Hancock. Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος. ΕΠΛ 428 Προγραμματισμός Συστημάτων

Εισαγωγή ΕΙΣΑΓΩΓΗ. Γεώργιος Παπαϊωάννου ( )

Διαχείριση Έργων Πληροφορικής Εργαστήριο

ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

Application... 4 Java Development Kit... 4 Android SDK... 5 Android Studio... 6 Genymotion... 8 ια ο Web Panel... 10

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ

Git - Version Control System

Ενότητα 1 Διάλεξη 1β

Εξοικείωση με τα Εργαλεία για το μάθημα Τεχνολογίες Εφαρμογών Διαδικτύου. Χειμερινό

Εισαγωγή στα SCM εργαλεία και στο Subversion

Open eclass Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης

SocialSkip Service v1.0

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Εργαλεία Ανάπτυξης Κώδικα ΕΛ/ΛΑΚ. Απόστολος Βόγκλης Βασίλειος Καραβασίλης Μονάδα Αριστείας ΕΛΛΑΚ ΕΤΕΠΗ 25/06/2014

Εισαγωγή στη Βιοπληροφορική

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΕΤΟΙΜΑΣΙΑ ΔΕΛΤΙΟΥ ΠΟΣΟΤΗΤΩΝ ΜΕ ΤΗ ΧΡΗΣΗ ΛΟΓΙΣΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ

Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης eclass 2.0. Οδηγίες Αναβάθµισης (Upgrade) Αθήνα, 1 Ιουνίου Εισαγωγή

ΚΕΦΑΛΑΙΟ Web Services

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ ΕΠΙΣΤΗΜΗ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ Η/Υ

ZWCAD 2010 ΠΡΟΓΡΑΜΜΑΤΟΣ. Εισαγωγή

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

PERL. Δήμος Παύλου Δημήτρης Κουζαπάς

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++

Αντικειμενοστρεφής Προγραμματισμός

Principles of Workflow in Data Analysis

!"#$µ"%" UNIX &'" ()*+)',-.

ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τµήµα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήµατα (Εργαστήριο) Διδάσκων: I. Τσακνάκης. 7ο Εργαστήριο

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

ProcSim οδηγίες χρήσης.

Λειτουργικά Συστήµατα

BPMN Abstraction Tool ΠΑΡΟΥΣΙΑΣΗ ΕΡΓΑΛΕΙΟΥ ΑΦΑΙΡΕΣΗΣ ΕΠΙΧΕΙΡΗΣΙΑΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ

Εισαγωγή στον Προγραμματισμό

Δομημένος Προγραμματισμός

Εισαγωγή στο περιβάλλον προγραμματισμού του εργαστηρίου

Users (Χρήστες) Κατανοµή προνοµίων (πρόσβαση σε αρχεία, έλεγχος διεργασιών κλπ) σύµφωνα µε συµβάσεις.

Επισκόπηση. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Simulation Commands

Δίκτυα Υπολογιστών Ι. Εγκατάσταση του Network Simulator-2 σε περιβάλλον Cygwin. Δ. Καρβουνάς, Δρ. Κ. Τσαγκάρης, Καθηγ. Π.

Εργαστηά ριο Βαά σεων Δεδομεάνων

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Transcript:

Περιγραφή του Apache Ant Βασίλης Στούµπος stoumpos@di.uoa.gr αίµων, Τεύχος 4 1η Μαρτίου 2004

Περίληψη Εισαγωγή Εγκατάσταση Χρήση Ειδικές περιπτώσεις αίµων, Τεύχος 4 Περιγραφή Ant 2/37

Περίληψη Εισαγωγή Περιγραφή Εκδόσεις Εγκατάσταση Χρήση Ειδικές περιπτώσεις αίµων, Τεύχος 4 Περιγραφή Ant 3/37

Τί είναι το Ant; Apache Ant is a Java based build tool. In theory, it is kind of like make, without make s wrinkles. Το Apache Ant είναι ένα Java εργαλείο κατασκευής εκδόσεων προγραµµάτων. Στην ϑεωρία είναι κάτι σαν το make, χωρίς τις «παραξενιές» του make. αίµων, Τεύχος 4 Περιγραφή Ant 4/37

Ψήφοι... Κατά Yet Another Build Tool! Ενα άλλο make! Υπέρ Επεκτάσιµο και ανεξάρτητο πλατφόρµας. Ξέρει από ϐέσπα (δηλ. Java).? εν Ξέρω/ εν Απαντώ ηλαδή το gcc δεν ϕτάνει; το Visual Studio το κάνει ήδη! αίµων, Τεύχος 4 Περιγραφή Ant 5/37

Βραβεία και Άλλα The JavaWorld Editors Choice Award for Most Useful Java Community Developed Technology. The Java Developer s Journal Editors Choice Award. Java Pro Reader s Choice award for Most Valuable Java Deployment Technology. Ενα από τα κύρια προγράµµατα (top project) του Apache Software Foundation. Υποστήριξη από τα περισσότερα περιβάλλοντα ανάπτυξης (IDE). Υιοθέτηση από τα περισσότερα προγράµµατα ΕΛ/ΑΚ. Το αδερφάκι Maven. Η Microsoft ϑα ανακοινώσει το MSBuild. αίµων, Τεύχος 4 Περιγραφή Ant 6/37

Γιατί Τόσο Ενδιαφέρον; Ελεγχος της διαδικάσιας µεταγλώττισης, ελέγχου, και εγκατάστασης (build/test/deploy). Βασικό εργαλείο της µεθοδολογίας συνεχούς ολοκληρωσής (continuous integration). Ο καλύτερος τρόπος για τα παραπάνω σε Java! αίµων, Τεύχος 4 Περιγραφή Ant 7/37

Εκδόσεις Συµβατότητα µε προγενέστερες εκδόσεις (backwards compatibility)...... ακόµα και εις ϐάρος διορθώσεων/βελτιώσεων. Εκδοση 2.0: Προγραµµατισµός από την αρχή. Καθαρότερο, γρηγορότερο, και ελάχιστα ασύµβατο µε τις εκδόσεις 1.x. Μηχανές: Mutant και Myrmidion. Ακυρώνεται η ϕιλοσοφία της 2.0 τρέχουσα 1.6 επόµενη 1.7 ή 2.0 ή 3.0 :). Οι εκδόσεις από την 1.6 και µετά απαιτούν Java 1.2. αίµων, Τεύχος 4 Περιγραφή Ant 8/37

Περίληψη Εισαγωγή Εγκατάσταση Ρυθµίσεις Πλατφόρµες Χρήση Ειδικές περιπτώσεις αίµων, Τεύχος 4 Περιγραφή Ant 9/37

Εγκατάσταση Μεταφόρτωση (download) από το http://ant.apache.org. Κατάλογοι bin Εκτελέσιµα scripts. lib Αρχεία jar του Ant και άλλες ϐιβλιοθήκες. docs Τεκµηρίωση. etc XSL αρχεία για διάφορα εργαλεία. Απαραίτητα είναι µόνο τα bin και lib. αίµων, Τεύχος 4 Περιγραφή Ant 10/37

Ρύθµιση Χρησιµοποιούµε νέο κετάλογο /tools/ant. Προσθέτουµε τον κατάλογο /tools/ant/bin στο PATH. Θέτουµε την µεταβλητή περιβάλλοντος ANT_HOME στο όνοµα του καταλόγου που εγκατασήσαµε το Ant. Θέτουµε την µεταβλητή JAVA_HOME στο όνοµα του καταλόγου που έχουµε εγκαταστήσει τη Java. Προσθέτουµε στο CLASSPATH επιπλέον ϐιβλιοθήκες αφορά µόνο σε ειδικά tasks του Ant, όχι στην γενική περίπτωση. αίµων, Τεύχος 4 Περιγραφή Ant 11/37

Κονσόλα /tools/> ls ant.tar.gz ant.tar.gz /tools/> gunzip < ant.tar.gz tar xvf - /tools/> ls -F ant/ /tools/> setenv ANT_HOME /tools/ant >>.cshrc /tools/> setenv JAVA_HOME /usr/local/jdk-1.4.2 >>.cshrc /tools/> set path=( $path $ANT_HOME/bin ) >>.cshrc /tools/> source.cshrc /tools/> java -version java version "1.4.2" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28) Java HotSpot(TM) Client VM (build 1.4.2-b28, mixed mode) /tools/> ant -version Apache Ant version 1.5.3 compiled on April 16 2003 αίµων, Τεύχος 4 Περιγραφή Ant 12/37

ιαφορετικές Πλατφόρµες Unix: ικαιώµατα αρχείων (<chmod>). Συµβολικοί σύνδεσµοι. Windows 9x/Me: Μεγάλα ονόµατα αρχείων. Windows: Πεζά-κεφαλαία ονόµατα αρχείων. Κλειδώµατα Explorer. Cygwin: Φρίκη! Μην το χρησιµοποιήσετε! (cygpath) MacOS X: Βλέπε Unix. Novell Netware: Επιπλέον αρχικές ϱυθµίσεις. αίµων, Τεύχος 4 Περιγραφή Ant 13/37

Περίληψη Εισαγωγή Εγκατάσταση Χρήση οµή Αρχείων Στόχοι και Εξαρτήσεις Παράδειγµα Ειδικές περιπτώσεις αίµων, Τεύχος 4 Περιγραφή Ant 14/37

Αρχεία build (Buildfile) Τα αρχεία build είναι XML αρχεία. Τυπικό όνοµα build.xml. Σε κάθε αρχείο build περιέχονται: Ενα πρόγραµµα (project). Τουλάχιστον ένας στόχος (target) ένας είναι ο προκαθορισµένος. Οι στόχοι περιέχουν ενέργειες (task). Κάθε ενέργεια µπορεί να έχει ένα χαρακτητιρτικό id. αίµων, Τεύχος 4 Περιγραφή Ant 15/37

οµή αρχείου build <?xml version="1.0"?> <project > <target >... </ target >... <target > <task > </task> <task id="..."> </task> <task/> </target >... <target >... </ target > </project > αίµων, Τεύχος 4 Περιγραφή Ant 16/37

<project> Παράδειγµα project: <project name="myproject" default="dist" basedir="."> <description > A simple example build f i l e. </description > <! set global properties for this build > <property name="src" location="${basedir}/src"/> <property name="build" location="${basedir}/build"/> <property name="dist" location="dist"/>... </project > αίµων, Τεύχος 4 Περιγραφή Ant 17/37

Βοήθεια για ένα project /myproject/> ls build.xml build.xml /myproject/> ant -projecthelp Buildfile: build.xml A simple example build file. Main targets: clean compile dist clean up compile the source generate the distribution Default target: dist αίµων, Τεύχος 4 Περιγραφή Ant 18/37

<target> Παράδειγµα target: <target name="compile" depends="init" description="compile the source">... </target > Περιγραφή της µεταγλώττισης. Τα κατάλληλα tasks περιέχονται για να την πραγµατοποιήσουν. αίµων, Τεύχος 4 Περιγραφή Ant 19/37

Εξαρτήσεις Στόχων <target name="a"/> <target name="b" depends="a"/> <target name="c" depends="b"/> <target name="d" depends="c,b,a"/> Εκτέλεση στόχου D σηµάινει...... εκτέλεση στόχων A, B, C, D. Λάθος: C, B, A, D! αίµων, Τεύχος 4 Περιγραφή Ant 20/37

Άλλες υνατότητες Εκτέλεση υπό Συνθήκη: < t a r g e t name="build-module-a" i f ="module-a-present"/> < t a r g e t name="build-own-fake-module-a" unless="module-a-present"/> Περιγραφή Στόχου (εµφάνιση µε -projecthelp): < t a r g e t name="mytarget" description="sample target"/> Εσωτερικοί Στόχοι (αδύνατη η εκτέλεση από κονσόλα): <target name="-internal"/> αίµων, Τεύχος 4 Περιγραφή Ant 21/37

<task> Γενική µορφή: <taskname id="id" attribute1="value1" attribute2="value2"... / > Εσωτερικές ενέργειες (built in tasks). Πρόσθετες ενέργειες (optional tasks). Ειδικές ενέργειες (custom tasks)! αίµων, Τεύχος 4 Περιγραφή Ant 22/37

Ιδιότητες Ενα πρόγραµµα µπορεί να έχει πολλές ιδιότητες. Ανάκτηση τιµής µε ${property-name}. Οι ιδιότητες τίθενται µε το στόχο <property> µόνο µία ϕορά. Εσωτερικές ιδιότητες: Ιδιότητες συστήµατος Java, όπως ${os.name}. Περισσότερα στο System.getProperties(). Ιδιότητες του Ant: { basedir: Απόλυτο µονοπάτι στη ϱίζα του προγράµµατος. { ant.file: Απόλυτο µονοπάτι στο αρχείο build. { ant.version: Εκδοση του Ant. { ant.project.name: Ονοµα προγράµµατος. { ant.java.version: Εκδοση JVM. αίµων, Τεύχος 4 Περιγραφή Ant 23/37

Στόχος Πληροφορίας <target name="info"> <echo > "Ant Properties" </echo> <echo message="basedir: ${basedir}"/> <echo message="ant.file: ${ant.file}"/> <echo message="ant.version: ${ant.version}"/> <echo message="ant.project.name: ${ant.project.name}"/> <echo message="ant.java.version: ${ant.java.version}"/> <echo > message="project Properties" </echo> <echo message="src =${src}"/> <echo message="build=${build}"/> <echo message="dist =${dist}"/> </target > αίµων, Τεύχος 4 Περιγραφή Ant 24/37

Εκτέλεση Στόχου /myproject> ant info Buildfile: build.xml info: [echo] Ant Properties [echo] basedir: /home/users/stoumpos/myproject [echo] ant.file: /home/users/stoumpos/myproject/build.xml [echo] ant.version: Apache Ant version 1.5.3 compiled on April 16 2003 [echo] ant.project.name: MyProject [echo] ant.java.version: 1.4 [echo] Project Properties [echo] src =/home/users/stoumpos/myproject/src [echo] build=/home/users/stoumpos/myproject/build [echo] dist =/home/users/stoumpos/myproject/dist BUILD SUCCESSFUL Total time: 2 seconds αίµων, Τεύχος 4 Περιγραφή Ant 25/37

Παράδειγµα Αρχείου build (1/4) <project name="myproject" default="dist" basedir="."> <description > simple example build f i l e </description > <! set global properties for this build > <property name="src" location="src"/> <property name="build" location="build"/> <property name="dist" location="dist"/> αίµων, Τεύχος 4 Περιγραφή Ant 26/37

Παράδειγµα Αρχείου build (2/4) <target name="init"> <! Create the time stamp > <tstamp/> <! Create the build d i r e c t o r y structure used by compile > <mkdir dir="${build}"/> </target > <target name="compile" depends="init" description="compile the source " > <! Compile the java code from ${ src } into ${ build } > <javac srcdir="${src}" destdir="${build}"/> </target > αίµων, Τεύχος 4 Περιγραφή Ant 27/37

Παράδειγµα Αρχείου build (3/4) <target name="dist" depends="compile" description="generate the distribution" > <! Create the distribution directory > <mkdir dir="${dist}/lib"/> <! Put everything in ${ build } i nt o the MyProject ${DSTAMP}. jar f i l e > <jar j a r f i l e ="${dist}/lib/myproject-${dstamp}.jar" basedir="${build}"/> </target > αίµων, Τεύχος 4 Περιγραφή Ant 28/37

Παράδειγµα Αρχείου build (4/4) <target name="clean" description="clean up" > <! Delete the ${ build } and ${ dist } directory trees > <delete dir="${build}"/> <delete dir="${dist}"/> </target > </project > αίµων, Τεύχος 4 Περιγραφή Ant 29/37

Τυπική Χρήση (1/4) /home/users/stoumpos/myproject/> ant -f build.xml -projecthelp Buildfile: build.xml A simple example build file. Main targets: clean compile dist clean up compile the source generate the distribution Default target: dist αίµων, Τεύχος 4 Περιγραφή Ant 30/37

Τυπική Χρήση (2/4) /home/users/stoumpos/myproject/> ant clean Buildfile: build.xml clean: [delete] Deleting directory /home/users/stoumpos/myproject/build [delete] Deleting directory /home/users/stoumpos/myproject/dist BUILD SUCCESSFUL Total time: 2 seconds αίµων, Τεύχος 4 Περιγραφή Ant 31/37

Τυπική Χρήση (3/4) /home/users/stoumpos/myproject/> ant Buildfile: build.xml init: [mkdir] Created dir: /home/users/stoumpos/myproject/build compile: [javac] Compiling 1 source file to /home/users/stoumpos/mypro ject/build dist: [mkdir] Created dir: /home/users/stoumpos/myproject/dist/lib [jar] Building jar: /home/users/stoumpos/myproject/dist/lib/ MyProject-20040301.jar BUILD SUCCESSFUL Total time: 4 seconds αίµων, Τεύχος 4 Περιγραφή Ant 32/37

Περίληψη Εισαγωγή Εγκατάσταση Χρήση Ειδικές περιπτώσεις Φίλτρα CLASSPATH Patern Set αίµων, Τεύχος 4 Περιγραφή Ant 33/37

Φίλτρα Αντικατάσταση όλων των @token@ µε µια τιµή. Κατά την αντιγραφή αρχείων. Παράδειγµα 1: < f i l t e r token="year" value="2000"/> < f i l t e r token="version" value="2.3"/> <copy todir="\${dest.dir}" f i l t e r i n g ="true"> < f i l e s e t dir="\${src.dir}"/> </copy> Παράδειγµα 2: < f i l t e r f i l t e r s f i l e ="deploy\_env.properties"/> αίµων, Τεύχος 4 Περιγραφή Ant 34/37

CLASSPATH Προσθήκη στο CLASSPATH: <classpath > <pathelement path="${classpath}"/> <pathelement location="lib/helper.jar"/> </classpath > Συντόµευση για τον ορισµό CLASSPATH: <classpath path="\${build}; ${extlib}/tool.jar"/> αίµων, Τεύχος 4 Περιγραφή Ant 35/37

Pattern Set Παράδειγµα 1: κώδικας <patternset id="sources"> <include name="std/**/*.java"/> <include name="prof/**/*.java" i f ="professional"/> <exclude name="**/*test*"/> </patternset > Παράδειγµα 2: πηγές <patternset id="resources"> <includesfile name="jar-list.txt"/> <includesfile name="${properties-list}" i f ="properties-list"/> <patternset/> αίµων, Τεύχος 4 Περιγραφή Ant 36/37

Πηγές http://ant.apache.org http://ant.apache.org/manual/index.html αίµων, Τεύχος 4 Περιγραφή Ant 37/37