Weil Ant 1.8.1 im XSLT-Task vergisst, den Classpath auszulesen, funktionieren mit dieser Version keine XSLT-2.0-Stylesheets (näheres siehe Bugzilla). Und weil Apple auch zwei Monate nach Erscheinen von Version 1.8.2 (mit dem Bugfix) noch kein Update durchgeführt hat, musste ich von Hand für Abhilfe sorgen. So geht’s:
- Ant 1.8.2 herunterladen und entpacken
- Ich habe den entpackten Ordner unter
~/Applications
abgelegt, gleich neben der alten 1.8.0-Version. Bei mir sieht das dann so aus:localhost:Applications stf$ ls -F -1 Crane-xslstyle-20100817-0240z/ apache-ant-1.8.0/ apache-ant-1.8.2/ calabash-0.9.24/
- Erzeugen eines SymLinks auf den Ant-Ordner. Dazu ein Terminalfenster öffnen und
ln -s ~/Applications/apache-ant-1.8.2 ~/Applications/ant
eingeben. Durch Umbiegen des SymLinks auf ein anderes Verzeichnis kann man einfach auf andere Ant-Versionen umschalten: auf eine ältere oder später auch auf eine neuere.
- Jetzt muss man
bash
– dem Programm hinter dem Terminalfenster – noch sagen, dass es die neue Ant-Version benutzen soll. Dazu fügt man der PATH-Variablen dem Pfad zum neuen Ant-Verzeichnis hinzu. Ich habe dazu im Benutzerverzeichnis eine Datei./bash_profile
angelegt und folgendes hineingeschrieben:echo running ~/.bash_profile export PATH=~/Applications/ant/bin:$PATH export ANT_HOME=~/Applications/ant
Die erste Zeile gibt bei jedem Konsolenstart eine Statusmeldung aus, die zweite Zeile setzt die PATH-Umgebungsvariable, die dritte Zeile sorgt dafür, das Ant seine Dateien findet.
Da verborgene Dateien (mit Punkt am Anfang des Dateinamens) im Finder standardmäßig ausgeblendet werden, habe ich ganz UNIX-like auf der Konsole gearbeitet. Mitpico ~/.bash_profile
wird der Editor geöffnet, Speichern funktioniert über
CTRL-o
, Verlassen mitCTRL-x
. - Eine neues Terminalfenster starten. In der zweiten Zeile sollte jetzt soetwas wie
running /Users/stf/.bash_profile
stehen. Mit dem Terminal-Kommandoset
lässt sich eine Liste der Umgebunsvariablen ausgeben, hier sollten jetzt für
PATH
undANT_HOME
die neuen Werte angezeigt werden. Schließlich bringt die Versionsangabe mitant -v
Gewissheit, ob alles geklappt hat.
Meine Helferlein auf diesem Weg waren die beiden unten angegebenen Artikel sowie man ln
und man ls
.
Hoffen wir, dass Apple bald auf 1.8.2 aktualisiert und zukünftig solche Workarounds nicht mehr notwendig sind …
Quellen:
- Stackoverflow: How to use an alternate version of Apache Ant on OS X without installing over existing version? (englisch)
- Cameron Hayne: Unix FAQ (for OS X) (englisch) – eine sehr übersichtliche Seite mit dem wichtigsten, was man über UNIX unter Mac OS X wissen muss.