Kundenspezifische Tasks für Ant

Das Schreiben eines Ant-Tasks erfordert, dass man eine neue Klasse schreibt, die die Task-Klasse von Ant erweitert. Das Schreiben der Klasse an sich ist einfach. Sie beinhaltet eine Reihe von Setter-Methoden zum Setzen der Klassenwerte und die Methode execute (), die Null zurückgibt und eine BuildException auswirft. Jeder Setter-Wert entspricht einem Attribut des Task-Flags in der Buildkonfiguration. So würde z.B. das Tag keine Setter benutzen, während das Tag die Setter-Methoden setName () und setValue () anwenden würde.

Methoden können verschiedene Parametertypen haben. Gewöhnlich akzeptiert man den Datentyp String, doch kann man jeden Typ übergeben, der einen String als Konstruktor nimmt – bspw. einen Integer. Bei Booleschen Datentypen fällt Ant die intelligente Entscheidung, ob es den Setter aufruft. Ist der Wert des Attributes in der Buildkonfiguration „yes“, „true“ oder „on“, gibt Ant den Booleschen Wert als wahr an, andernfalls geht es zu seiner Standardeinstellung falsch.

Zunächst ein Blick auf ein einfaches, in Listing A gezeigtes Beispiel. In diesem Beispiel werden die optionalen Attribute message, message_count und show_message angenommen. Ist show_message wahr, gibt der Task die Nachricht message_count Mal an das Steuerpult aus. Wie man sieht, nimmt jede Methode einen anderen Datentyp als Parameter an. Der Task nimmt die Ausgabe mit der log ()-Methode vor.

Um diesen Task zu kompilieren, muss die Klasse gegen die bei Ant mitgelieferte Ant.jar-Datei kompiliert werden. Zu diesem Zweck wird Ant zur Verwaltung des Build benutzt. Ist Ant ordnungsgemäß installiert, wird es sämtliche benötigten Java-Archivsdateien (JAR) im eigenen Verzeichnis $ANT_HOME/lib erkennen. Andernfalls ist es erforderlich, die benötigten JAR-Dateien im Klassenpfad anzugeben.

Die resultierende Klassendatei muss als JAR-Datei verpackt und in $ANT_HOME/lib/ gespeichert werden. Die Builddatei verpackt die Tasks und installiert sie als MyTasks.jar. Listing B zeigt die Buildkonfiguration, die diesen Vorgang erledigt.

Um SimpleTask.java zu kompilieren und installieren (es dürfte sich im src-Verzeichnis befinden), muss der Befehl ant install ausgeführt werden.

Man sollte sich vergewissern, dass die JAR-Datei MyTasks.jar ordnungsgemäß im Verzeichnis $ANT_HOME/lib installiert wurde Ist die JAR-Datei korrekt installiert, lässt sich die neue Klasse nun testen. Zunächst muss Ant instruiert werden, die neue Klasse zu importieren. In der Buildkonfiguration ist die folgende Zeile hinzuzufügen:

Dadurch wird Ant mitgeteilt, dass es eine Klasse namens Simple aus der Klasse SimpleTask definieren soll. (Es wird den Ort von SimpleTask herausfinden, indem es in seinen Klassenpfad schaut.) Die Definition kann je nach Bedarf benannt werden.

Nachdem der Task definiert wurde, sollte er auch angewendet werden. Dies geschieht mit dem Aufruf Simple an einer beliebigen Stelle innerhalb der Buildkonfiguration. Um den Prozess zu testen, wird ein neues Ziel namens SimpleTarget erstellt wie in Listing C.

Wie vielleicht noch bekannt ist, wiederholt SimpleTask eine Nachricht mehrere Male, wenn der Boolesche Ausdruck show_message gesetzt ist. Führt man also ant SimpleTarget aus, erhält man die in Listing D gezeigte Ausgabe.

Als Nächstes ein Blick darauf, wie Ant Ausnahmen behandelt.

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Chips bescheren Samsung deutlichen Gewinnzuwachs

Das operative Ergebnis wächst um fast 6 Billionen Won auf 6,64 Billionen Won. Die Gewinne…

2 Tagen ago

Chrome: Google verschiebt das Aus für Drittanbietercookies

Ab Werk blockiert Chrome Cookies von Dritten nun frühestens ab Anfang 2025. Unter anderem gibt…

3 Tagen ago

BAUMLINK: Wir sind Partner und Aussteller bei der Frankfurt Tech Show 2024

Die Vorfreude steigt, denn BAUMLINK wird als Partner und Aussteller bei der Tech Show 2024…

3 Tagen ago

Business GPT: Generative KI für den Unternehmenseinsatz

Nutzung einer unternehmenseigenen GPT-Umgebung für sicheren und datenschutzkonformen Zugriff.

3 Tagen ago

Alphabet übertrifft die Erwartungen im ersten Quartal

Der Umsatz steigt um 15 Prozent, der Nettogewinn um 57 Prozent. Im nachbörslichen Handel kassiert…

6 Tagen ago

Microsoft steigert Umsatz und Gewinn im dritten Fiskalquartal

Aus 61,9 Milliarden Dollar generiert das Unternehmen einen Nettoprofit von 21,9 Milliarden Dollar. Das größte…

6 Tagen ago