Kein Folientitel

Werbung
Das Build-Tool ANT
ETIS SS04
Gliederung
• Motivation
• Build-Datei build.xml
• Bestandteile build.xml
– Properties
• Zusammenfassung
ant
ETIS SS04
2
Motivation ANT (I)
• open source-Projekt (bereits Version 1.6.1)
– vom Jakarta zum Apache Top-Level-Projekt
(http://ant.apache.org)
• Build-Tool ähnlich make, aber
– plattformunabhängig
– XML-basiert
– Erweiterungen durch Java-Klassen
• Aufgaben, z.B.:
– Kompilieren,
– Dokumentationen erstellen,
– Archive ausliefern
ant
ETIS SS04
3
Motivation ANT (II)
• IDEs ermöglichen ebenfalls komplexe Entwicklungsaufgaben, aber interaktiv, nicht automatisiert wie BuildTools
– Komplizierte Dateioperationen leichter formulierbar
– Stapelbetrieb problemlos realisierbar - z.B. für Techniken
wie automatisiertes Testen oder fortlaufende Integration
• Ant: Quasistandard im Java-Bereich
– Ant nicht nur von Kommandozeile auch in IDEs nutzbar
– in nahezu jede IDE integrierbar
ant
ETIS SS04
4
Die Build-Datei build.xml
• In Build-Datei i.d.R. build.xml werden Ant-Anweisungen
formuliert
<project ...>
<target>
Task
...
</target>
<target>
Task
...
</target>
</project>
ant
project
target
Task
Task
target
Task
Task
ETIS SS04
5
Bestandteile build.xml (I)
• Project
– jedes Build-File enthält ein Project
– dieses enthält ein oder mehrere Targets (ein default Target)
• Target
– ist eine Reihe von Tasks
– kein Target beim Start von Ant angegeben  defaultTarget gestartet
– Target können voneinander abhängen
<target name="D" depends="C,B,A"/>
ant
ETIS SS04
6
Bestandteile build.xml (II)
• Task
– Stück Code, das ausgeführt werden kann
– z.B. copy, delete, mkdir, java, javac, junit, jar, javadoc
<copy file=“myfile.txt“ tofile=“mycopy.txt“/>
<copy todir=“../dest/dir“>
<fileset dir=“src_dir“>
<exclude name=“**/*.java“/>
</fileset>
</copy>
• Entwicklung eigener Tasks möglich
ant
ETIS SS04
7
Properties
• Buildfiles arbeiten nur mit Strings als „Variablentypen“
• jedoch möglich: Definition von Properties - Verwendung
ähnlich Makros, z.B.:
<property name=“jar.dest“ value=“lib“ />
<mkdir=“${jar.dest}“/>
• Auslagerung der Properties in Dateien möglich, z.B.
<property file=“build.properties“/>
• einige Properties sind unter Ant vordefiniert, z.B.
java.version, basedir
ant
ETIS SS04
8
Zusammenfassung
• Open source apache-Projekt
• Quasi-Standard für Build-Tools unter Java
– Kompilieren, Archive, Dokumentation erzeugen, JunitTests ausführen...
– Konsistenz /Wiederholbarkeit im Projekt
• In viele IDEs integriert
• Unterstützung durch Editoren (z.B. in eclipse integriert:
Planty)
• Xml-basiert, Plattform-unabhängig
ant
ETIS SS04
9
Literatur
• Backschat, M., Edlich, J2EE-Entwicklung mit OpenSource-Tools, Spektrum Akademischer Verlag,
München, 2004
• http://ant.apache.org/manual/
• http://www.galileocomputing.de/openbook/javainsel3/jav
ainsel_250009.htm
• http://de.wikipedia.org/wiki/Ant
ant
ETIS SS04
10
Herunterladen