2009-06-05 18 views
9

Ich habe viele Artikel auf Ant gelesen, die alle Arten von Optionen erklären, und ich habe viel von der Dokumentation für Ant gelesen, aber ich weiß nicht wirklich den "richtigen" Weg zu viele Sachen tun. Kann jemand ein gutes Beispiel empfehlen, das zeigt, wie man Ant benutzt? Etwas, das nicht zu kompliziert, aber auch nicht zu einfach ist. Ich fand this one von Doug Sparling (speziell bezogen auf Hibernate) und es sieht ziemlich gut aus, aber fragte sich, ob Sie Leute dazu kommentieren könnten, weil ich nicht den Stil von jemandem annehmen will, der fragwürdige Gewohnheiten hat, aber es scheint mir gut zu sein.ein gutes Beispiel für Ameise Best Practices

Antwort

9

Vielleicht möchten Sie auch auf der Ant Usage Guides schauen aus dem Ant Wiki.

+0

ooh, es hat eine „Elemente von Stil "- danke! –

3

Ich schlage vor, Sie betrachten die Ant-Skripte von Open-Source-Implementierungen, die ant für ihr Build-Skript verwenden. In der Regel bekommen die ant-Skripte keine große Liebe, aber sie sind robuster als ein typischer interner Job, da sie an so viele Entwickler verteilt werden, von denen erwartet wird, dass sie sie nur in einer Vielzahl von Umgebungen ausführen.

Ich würde argumentieren, dass es eine bewährte Methode ist, sich nicht um Ihr Build-Skript zu kümmern, das über den Punkt hinausgeht, an dem es seine Arbeit erledigt und angemessen wartbar ist. Es ist schließlich nicht das Ziel der meisten Projekte, ein gutes Build-Skript zu erstellen. Wie bei jeder Best Practice gibt es natürlich Ausnahmen.

Aus der Hand, die, die ich für JSR-310 sah, war anständig.

1

ich meine Ziele in 2 Typen zu unterteilen immer dazu neigen:

1) Ziele, die Dinge erledigen - kompilieren, jar, etc. Diese haben keine Abhängigkeiten und jeder macht nur eine Sache.

2) Ziele, die Sie ausführen möchten - Build, Deploy usw. Hier sind die Abhängigkeiten angegeben.

Der Grund, warum ich dies tue, ist, dass Sie runnable Ziele haben können, die eine beliebige Menge der Doing-Stuff-Ziele verwenden. Zum Beispiel ist es in einer Web-App nützlich, jedes Mal ohne Kompilieren, Ausführen von Tests usw. zu verteilen, was diese Strukturierung von Ant-Skripten ermöglicht.

Wenn ich mit mehreren Modulen arbeiten bin, werde ich auch ein Master-Build-Skript erstellen, die alle gemeinsamen Ziele enthält, die von Variablen in modulspezifischen Eigenschaften Dateien angetrieben werden ..

+0

Ich denke mal für 1) solltest du lieber 'macrodef' verwenden. – abergmeier

+0

Yup, verwenden Sie definitiv 'macrodef' oder wechseln Sie einfach zu Maven (was ich glaube, begann das Leben und eine Reihe von' Macrodef 's Weg vor der reichen Mojo-Struktur heute verwendet). –