Ant Praxis: Mit Scripten direkt in der Build-Datei individuelle Wünsche realisieren

Die Wege der Ameise

Bernd Matzke

Das Build Tool Ant stellt hauptsächlich dateiorientiert arbeitende Kommandos zur Verfügung. Trotz der praxisorientierten Funktionalität dieser Kommandos lassen sich nicht alle real existierenden Probleme lösen. Hier bietet sich die Ergänzung von Ant mittels kleiner Scripte direkt in der Build-Datei an.

Beim Einsatz von Ant stehen die Kompilierung und das Deployment von Java-Anwendungen im Mittelpunkt. Gesteuert wird Ant über XML-Dateien, in denen die auszuführenden Kommandos als XML-Tags notiert werden. Parameter der Kommandos werden als Attribute dieser Tags oder durch Sub-Tags bereitgestellt. Die Funktionalität der angebotenen Kommandos reicht für Standard-Aufgaben meist aus. Einen ersten Einblick in Ant bietet [1], eine umfangreiche Erläuterung der Standard-Features finden Sie in [2].

Trotz der recht pragmatischen Arbeitsweise von Ant bleiben mitunter Wünsche offen, die sich mit den im Standard vorhandenen Kommandos nicht oder nur sehr schwer realisieren lassen. Ant kann daher durch zusätzlichen individuellen Programmcode erweitert werden. Dabei existieren zwei Möglichkeiten. Die elegantere und leistungsfähigere besteht in der Programmierung eigener Tasks (Ant-Kommandos) mit Java. Dazu schreiben Sie eine oder mehrere eigene Klassen, die Sie im Classpath bereitstellen und in den Build-Dateien mit dem -Task einbinden. Dies erfordert einigen Entwicklungsaufwand und Sorgfalt bezüglich der Software-Logistik. Es existieren bereits leistungsfähige Zusatz-Pakete, z.B. Ant-Contrib.

Einfacher und meist auch schneller ist es, eigene Wünsche per Scripting direkt in den Build-Dateien zu realisieren. Ant kann dazu Scripte verschiedener Sprachen wie JavaScript, Phyton, TCL und anderen ausführen. Innerhalb dieser Scripte können Sie auf alle Objekte der Ant-Umgebung zugreifen.Leider ist die Original-Dokumentation zu diesem Thema recht dürftig. Dieser Beitrag soll daher an Hand einiger Beispiele das Scripting in Ant-Projekten erläutern. Eingesetzt wird Ant 1.5.2 sowie JavaScript in der als ECMAScript standardisierten Version.

  
Geschrieben von
Bernd Matzke
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.