Another

Ant ist ein Build-Tool der Apache Software Foundation, das als Open-Source-Software - derzeit in der Version 1.8.1 - unter dem u.g. Link zur Verfügung steht. Build-Tools werden u.a. für die Vereinfachung der Prozesse zur Compilierung, zur Wartung, zum Testen sowie zur Installation eingesetzt. Das Java-basierte Ant organisiert mit Hilfe einer Konfigurationsdatei insbesondere den Build- Prozess von Java-Projekten, kann plattformunabhängig genutzt werden und verwendet mit der XML- Notation eine allgemeine Form, die Build- Dateien zu generieren.

Bei Ant handelt es sich um ein etabliertes Build-Tool, welches ursprünglich bereits im Jahre 1998 für den Build-Prozess des Tomcat Servers von James Duncan Davidson entwickelt wurde. Der Name "Ant" steht als Abkürzung für "Another Neat Tool" (dt. "noch ein hübsches Werkzeug") oder auch in Analogie zu dem Insekt Ameise (engl. Ant), deren Eigenschaften sinnbildlich für das Tool stehen sollen. Durch die Unabhängigkeit von einer bestimmten Plattform benötigt Ant zur Ausführung in jedem Fall eine aktuelle Java- Laufzeitumgebung ( JRE); besser noch ein Java Development Kit ( JDK), damit alle Funktionen von Ant genutzt werden können.

Sofern man Ant in die Reihe anderer Build-Management-Tools einordnet, drängt sich zunächst der Vergleich mit GNU-Make auf. Make ist jedoch im Gegensatz zu Ant nicht plattformunabhängig, und benötigt für seine Funktion einige externe Programme aus der Unix-Umgebung. Ebenso wie Ant ist ein weiteres Build-Tool - Maven 2 - vollständig in Java implementiert und ist demzufolge plattformunabhängig. Maven 2 integriert die Konzepte von Ant konsequent, betrachtet aber den Build-Prozess noch wesentlicher abstrakter als Ant, und stellt dazu ein mächtiges Set an zusätzlicher Funktionalität zur Verfügung.

Der Aufgabenbereich von Ant besteht grundlegend in der Spezifizierung von verschiedenen Dateien, um dann auf diese bestimmte Kommandos und/oder Operationen anzuwenden wie beispielsweise den Java- Compiler aufzurufen, Dateien kopieren oder zu installieren wie auch die Erstellung von Archiven. Damit kann Ant eingesetzt werden, um auf Basis des gegebenen Java-Quellcodes letztendlich eine vollständige und installierbare Anwendung zu generieren. Die Konfiguration eines Build-Prozesses wird in einer auf XML basierenden Build- Datei (standardmäßig ist es die Datei build.xml) festlegt.

Aufbau einer Build-Datei in Ant

Aufbau einer Build-Datei in Ant

Die Abbildung gibt hier zunächst einen groben Überblick über die grundlegenden Elemente des Build-Tools Ant.

Project

Bei einem project handelt es sich um das umfassende Objekt, welches eine Laufzeitumgebung für Kommandos und Operationen realisiert und durch eine XML-Build-Datei dargestellt wird. Bei einem komplexeren Projekt hat jedes Teilprojekt eine separate Build-Datei.

Target

Ein target bildet eine Modulierungseinheit von Ant, fasst eine oder mehrere sogenannte Tasks zusammen, und stellt den Container für die eigentlichen Operationen zur Verfügung, die mit den Tasks ausgeführt werden. Zur eindeutigen Identifizierung besitzen Targets einen Namen, mit denen sich dann auch eine Build-Datei übersichtlich strukturieren lässt. Verschiedene Attribute des -Tags wie beispielsweise depends, if und unless realisieren eine Ablaufsteuerung des Targets. Unter Verwendung des Attributes depend können statische Eigenschaften definiert werden. Das Attribut description dokumentiert schließlich die Funktion eines Targets.

Task

Die eigentlichen ausführbaren Operationen werden Tasks genannt. Dabei stellt Ant bereits eine ganze Reihe von vorgefertigten Tasks wie beispielsweise
  • zum Aufruf einer Build-Datei,
  • Datei-/ Verzeichnis-Operationen ( Kopieren, Löschen, Verschieben),
  • Operationen im Zusammenhang mit Java,
  • Erstellung von Dokumentationen mit Javadoc,
  • Anwendung von SQL-Statements mittels JDBC,
  • Download von Dateien,
  • Synchronisation von Verzeichnissen,
  • Operationen auf Archiven oder
  • zum Versenden von Emails
zur Verfügung. Sofern eine spezifische Task benötigt wird, kann diese in Form von Java-Klassen programmiert und Ant um diese Task erweitert werden. Allerdings existiert bereits eine erhebliche Anzahl von Task-Paketen.

Property

Platzhalter für einen Wert oder eine Zeichenkette werden in Ant Properties genannt. Die konkrete Zuweisung kann bei Aufruf der Build-Datei mit entsprechenden Parametern oder direkt in der Build-Datei erfolgen. Properties können ähnlich Variablen in Programmiersprachen genutzt werden, und sie generieren die konkrete Laufzeitumgebung einer Build-Datei. Properties können im Übrigen auch in einer externen Datei gepflegt und dann im eigentlichen Build-Prozess eingelesen werden. Ant bietet darüber hinaus eine Fülle erweiterter Funktionalitäten. In Zusammenhang mit der Qualitätssicherung von Software sei hier noch das JUnit Testing genannt. Mit der -Task bietet Ant die Möglichkeit einen oder mehrere JUnit-Test(s) auszuführen. Dabei werden die Testergebnisse zusammengeführt und in einer gewünschten Form präsentiert. Die Task ermöglicht einen Build abzubrechen oder fortzusetzen, wenn ein Test scheitert.

Informationen zum Artikel
Deutsch: Another
Englisch: another neat tool - Ant
Veröffentlicht: 09.04.2012
Wörter: 719
Tags: Entwicklung, Codierung
Links: Apache, Software, Open-Source-Software, Link, Prozess
Übersetzung: EN
Sharing: