Das Build-Tool ANT ETIS SS05
ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties Zusammenfassung Literatur
ETIS SS05 - Nadine FröhlichANT 3 Motivation ANT I open source-Projekt (aktuell: Version 1.6.5) –vom Jakarta zum Apache Top-Level-Projekt ( Build-Tool ähnlich make, aber –plattformunabhängig –XML-basiert –Erweiterbar durch Java-Klassen Aufgaben, z.B.: –Kompilieren –Dokumentationen erstellen –Archive ausliefern
ETIS SS05 - Nadine FröhlichANT 4 Motivation ANT II IDEs ermöglichen ebenfalls komplexe Entwicklungs- aufgaben, aber interaktiv, nicht automatisiert wie Build- Tools, d.h. mit ANT: –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 nutzbarKommandozeile –in nahezu jede IDE integrierbar (integriert z.B. in eclipse, IDEA, NetBeans)
ETIS SS05 - Nadine FröhlichANT 5 Build-Datei - Aufbau In Build-Datei (i.d.R. build.xml) Formulierung der Ant- Anweisungenbuild.xml Task... Task... project target Task target Task
ETIS SS05 - Nadine FröhlichANT 6 Build-Datei - Tag Project jedes Build-File enthält ein Project Project enthält ein oder mehrere Targets … … default: Default-Target, gestartet, wenn kein spezieller Target beim Start von Ant angegeben basedir: Basisverzeichnis, von dem alle Pfadberech- nungen starten
ETIS SS05 - Nadine FröhlichANT 7 Build-Datei - Target Enthält Reihe von Tasks, vergleichbar Funktion in Programmiersprache Target können voneinander abhängen (z.B. erst target compile, dann target run) Ausführungsreihenfolge: A, B, C, D Ausführungsreihenfolge: C, A, B, D Jeder Target nur 1x ausgeführt
ETIS SS05 - Nadine FröhlichANT 8 Stück Code, das ausgeführt werden kann (unteilbarer Arbeitsschritt) –Built-in Tasks: z.B. copy, mkdir, java, javac, jar, javadoc –Optionale Tasks: junit, javacc, ftp –Entwicklung eigener Tasks möglich (Java-basiert) Build-Datei - Task
ETIS SS05 - Nadine FröhlichANT 9 Properties Name-Wert-Paare, im properties-Task definierbar Verwendung ähnlich Makros, z.B.: Auslagerung der Properties in Dateien möglich, z.B. einige Properties sind unter Ant vordefiniert, z.B. java.version, basedir Zugriff auf Systemproperties möglich, z.B. ${os.name}
ETIS SS05 - Nadine FröhlichANT 10 Zusammenfassung Open source apache-Projekt –Offenes System, d.h. durch eigene Tasks erweiterbar –Xml-basiert, Plattform-unabhängig Quasi-Standard für Build-Tools unter Java –Kompilieren, Archive, Dokumentation, JUnit-Tests... –Konsistenz /Wiederholbarkeit im Projekt In viele IDEs integriert Erweiterungen, z.B.: –Checkstyle - HTML-Reports zu Einhaltung von Style-Regeln –XDoclet - Tool für attribut-orientierte Programmierung mit Java
ETIS SS05 - Nadine FröhlichANT 11 Literatur Backschat, M., Edlich, J2EE-Entwicklung mit Open- Source-Tools, Spektrum Akademischer Verlag, München, nsel_ htm
ETIS SS05 - Nadine FröhlichANT 12 Start von Kommandozeile Ant benutzt build.xml-Datei im aktuellen Verzeichnis und den Default-Target bei Start ant Ant benutzt test.xml-Datei im aktuellen Verzeichnis und den Default-Target bei Start ant -buildfile test.xml Ant benutzt test.xml-Datei im aktuellen Verzeichnis und den Target dist bei Start ant -buildfile test.xml dist
ETIS SS05 - Nadine FröhlichANT 13 Beispiel – build.xml