Mit ant läuft es

In Java-Projekten ist ant das Mittel der Wahl, wenn es um Build-Tools geht. Es ist weniger komplex als Maven, schneller und plattformunabhängiger als make und funktioniert im Gegensatz zu Eclipse auch als Batch z.B. für Continious Build. Trotzdem gibt es gute und weniger gute Buildfiles. Zwei Punkte, die für ein gutes Buildfile wichtig sind:

  • Wenige standardisierte Targets, die eine Beschreibung und korrekte Abhängigkeiten besitzen, so dass ant -p eine vollständige verständliche Anleitung ausgibt.
  • Variablen sind möglichst in eine Datei ausgelagert, um diese einfach an lokale Umgebungen anzupassen ohne das Buildfile ändern zu müssen

Was sind standardisierte Targets? Eigentlich eine Menge von symbolischen Namen, die ähnlich der Benutzung von make in OpenSource Projekten erwartungskonforme Ergebnisse produzieren:

clean: Entfernt alles, was von ant erzeugt werden kann - idealerweise befindet sich dies alles in einem Unterordner, z.B. build
compile: Verarbeitet die Quellen, z.B. mittels javac
test(compile): Führt alle automatisierten Tests durch
archive(test): Erzeugt ein Archiv (z.B. jar für eine Bibliothek, war für eine Webapplikation)
dist(archive): Erzeugt ein auslieferungsfähiges Produkt. Typischerweise ist dies ein Archiv mit allen Bibliotheken, Dokumentation etc.

build oder all ist typischerweise das default-Target aber normalerweise von Abhängigkeiten abgesehen leer.