Interaktiver Build-Vergleich: Ergebnisse – Ant

Wie steht es um die Interoperabilität zwischen den Build-Tools Maven, Gradle und Ant?

Jan Matèrne: Da ich Gradle gar nicht und Maven nur wenig kenne, kann ich leider keine fundierte Antwort geben. Aber eine kleine Einschätzung:

Was mit allen Werkzeugen gehen dürfte, ist der Aufruf des anderen. Zum Beispiel aus Ant heraus ein Gradle mit <exec> oder <java>. Die gemeinsame Nutzung eines Repositories ist möglich: Gradle, Maven und Ivy zeigen dann auf die gleiche Adresse. Ivy kann Maven POMs erzeugen. Darüber hinaus wüsste ich ad hoc keine Punkte, zu denen ich Stellung nehmen könnte. An welche konkreten Integrationen wird denn gedacht?

Mit welchem Build-Tool wird Ant entwickelt?

Der Build von Ant ist mehrstufig: Per Skript (Unix Shellskript bzw. Windows Batchdatei) wird das Bootstrapping vorgenommen, in dem die wichtigsten Klassen von Ant per „javac“ kompiliert werden.
Im Folgenden wird dann dieses „Mini-Ant“ dazu genutzt, die Distribution zu erstellen (wobei JUnit und AntUnit für die Testausführung benötigt werden).

Mit Hilfe von Ivy (ebenfalls extern gebaut, da Subprojekt) werden dann optional die Werkzeuge zur Metriküberprüfung (Checkstyle, PMD, Findbugs, RAT) nachgeladen und gestartet. Ein CI läuft unter Hudson. Ein projektübergreifender CI läuft unter Gump.

Vielen Dank an Jan Matèrne für die kompetente Beantwortung der Community-Fragen!

Jan Matèrne ist Softwareentwickler im Rechenzentrum der Finanzverwaltung NRW. Seine Interessen liegen bei Build Automatisation und Codegenerierung. Er beschäftigt sich seit 2000 mit Ant, ist seit 2003 Committer und seit 2004 im PMC. Neben Ant ist er bei Hudson und Args4J aktiv.
Kommentare

Schreibe einen Kommentar

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