1 ant che cos’è come si utilizza funzionalità principali documentazione e installazione corso di...

11
1 Ant • Che cos’è • Come si utilizza • Funzionalità principali • Documentazione e Installazione Corso di Programmazione Internet

Upload: liborio-nanni

Post on 02-May-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Ant Che cos’è Come si utilizza Funzionalità principali Documentazione e Installazione Corso di Programmazione Internet

1

Ant

• Che cos’è

• Come si utilizza

• Funzionalità principali

• Documentazione e Installazione

Corso di Programmazione Internet

Page 2: 1 Ant Che cos’è Come si utilizza Funzionalità principali Documentazione e Installazione Corso di Programmazione Internet

2

Ant - Cos’è

• È un “build” tool. Viene utilizzato per automatizzare le operazioni di compilazione, creazione di jar file e altro.• È multipiattaforma : è scritto in java e legge un file di configurazione scritto in XML (build.xml)• > ant

– ricerca automaticamente il file build.xml• build.xml specifica cosa Ant deve fare, ne determina il comportamento

Corso di Programmazione Internet

Page 3: 1 Ant Che cos’è Come si utilizza Funzionalità principali Documentazione e Installazione Corso di Programmazione Internet

3

build.xml (1/2)

• project tag<project name="mioProgetto" default="compile" basedir=".">

• properties <property name="src" value="."/>

– build-in properties es: ${os.name}

• target tag (tipicamente ce ne sono più di uno)

Posso avere un target di inizializzazione, uno per compilare, uno per creare un jar file etc...

Corso di Programmazione Internet

Page 4: 1 Ant Che cos’è Come si utilizza Funzionalità principali Documentazione e Installazione Corso di Programmazione Internet

4

build.xml (2/2)

<target name="compile" depends="init”>

<!-- Compile the java code from ${src} into ${build} -->

<javac srcdir="${src}" destdir="${build}"/>

</target>

• Task

Sono pezzi di codice che possono essere esegui. Esempi: javac, tstamp

I task sono contenuti all’interno dei target. Esistono task predefiniti, ma altri se ne possono creare

Corso di Programmazione Internet 1

Page 5: 1 Ant Che cos’è Come si utilizza Funzionalità principali Documentazione e Installazione Corso di Programmazione Internet

5

Running Ant

Opzioni a linea di comando–find ricerca ricorsivamente il buil file nelle directory padre–buildfile nomefile cerca nomefile anziché build.xml–help stampa messaggio di aiuto–version stampa la versione ed esce–quiet esegue ma non stampa niente–verbose esegue stampando molte informazioni–Dproperty=value imposta il valore delle propertyCorso di Programmazione Internet

Page 6: 1 Ant Che cos’è Come si utilizza Funzionalità principali Documentazione e Installazione Corso di Programmazione Internet

6

Alcuni Tasks (1/4)

<tstamp\> Imposta le properties DSTAMP, TSTAMP, TODAY

<javac> compila e scrive i .class nella directory di destinazione. Vengono compilati solo i file il cui .class corrispondente o non esiste o è meno recente del .java.

Il compilatore da usare può essere specificato nella property

build.compilerSe non specificato diversamente, vengono compilati tutti i file presenti nelle directory srcdirCorso di Programmazione Internet

Page 7: 1 Ant Che cos’è Come si utilizza Funzionalità principali Documentazione e Installazione Corso di Programmazione Internet

7

Alcuni Tasks (2/4)<property name="src1" value= ”prova1"/><property name="src2" value= ”prova2"/>…<javac srcdir=“${src1}:${src2}” destdir=“${build}”

includes=“MioFile*.java”excludes=“MioFileOld.java”>

Compila tutti e solo i file che si trovano nelle directory prova1 e prova2 il cui nome inizia con “MioFile”. Non compila MioFileOld.java

Corso di Programmazione Internet 7

Page 8: 1 Ant Che cos’è Come si utilizza Funzionalità principali Documentazione e Installazione Corso di Programmazione Internet

8

Alcuni Tasks (3/4)<javac srcdir=“${src1}” destdir=“${build}”

includes=“MiaDir/*”>

Compila tutti e solo i file presenti nella directory prova1\MiaDir\

<javac srcdir=“${src1}” destdir=“${build}”includes=“MiaDir/**”>

Compila tutti e solo i file presenti nella directoryprova1\MiaDir\ e in tutti i file presenti in tutte le sue sottodirectory. Es:prova1\MiaDir\MiaDir2\Ciao\prova.java

Corso di Programmazione Internet

Page 9: 1 Ant Che cos’è Come si utilizza Funzionalità principali Documentazione e Installazione Corso di Programmazione Internet

9

Alcuni Tasks (4/4)<chmod> cambia i permessi dei file e/o delle

directory. Funziona solo sotto UNIX

<copyfile> copia uno o più file<copydir> copia un albero di directory<delete> cancella uno o più file<deltree> cancella una directory <exec> esegue un comando di sistema <zip> produce un file .zip<unzip> esegue l’unzip su un file .zip o .jar

<get> recupera un file da un’URL specificata

<mkdir> crea una directoryCorso di Programmazione Internet

Page 10: 1 Ant Che cos’è Come si utilizza Funzionalità principali Documentazione e Installazione Corso di Programmazione Internet

10

Documentazione e Installazione

Ant home page : jakarta.apache.org/ant/index.html Ant user guide : www.itpath.com/userGuide.htm

Su linux (macchine laboratorio): inserire nel file .cshrc-Linux le righe:

setenv ANT_HOME $HOME/ANT/jakarta-ant-1.4.1

setenv JAVA_HOME /usr/local/jdk1.3

alias ant "$ANT_HOME/bin/ant"

setenv PATH $PATH":$ANT_HOME/bin"

setenv CLASSPATH "$ANT_HOME/lib/ant.jar"

Corso di Programmazione Internet

Page 11: 1 Ant Che cos’è Come si utilizza Funzionalità principali Documentazione e Installazione Corso di Programmazione Internet

11

Documentazione e Installazione

Su windows, nel file Autoexec.bat aggiungere le seguenti righe:

set ANT_HOME=c:\ant

set JAVA_HOME=c:\jdk1.3.1_01

set CLASSPATH=%ANT_HOME%\lib\ant.jarPATH=%ANT_HOME%\bin

Su windows 95/98 potrebbe dare il problema di “spazio d’ambiente esaurito”, quindi occorre aggiungere la seguente riga al file config.sysshell=c:\command.com /E:4096 /P

Corso di Programmazione Internet