ANT
Notizen zum Thema wie ANT files aufgebaut sind.
Aufbau von Ant-Files
Das Ant File heisst immer: build.xml
Hällt man sich daran braucht man kein AntFile anzugeben.
Tag | Beschreibung |
---|---|
project | Ant Files beginnen immer mit dem <project> Tag. Dieser geht über das ganze File und hat den Parameter default. Wird nichts anderes angegeben führt er das Target mit dem im default Parameter angegebenen Namen aus. |
target | Der Target Tag ist im Projet enthalten. Er hat den Parameter name. Dieser Wert ist frei wählbar. |
echo | Gibt die Message im Parameter message aus. |
<project default="nina">
<target name="franziska">
<echo message="Hello Franziska"/>
</target>
<target name="nina">
<echo message="Hallo Nina"/>
</target>
</project>
Abhängikeit
Ist ein Taget vom andern abhängig, so kann das in der Folgenden weise bekundet werden:
<target name="ich" depends="du,ihr">
Variabeln
Variabeln können mit dem Folgenden Befehl definiert werden:
<property name="location" location="/home/noah" />
${obj-dir}
Java Compilieren
Zum übersetzen von java kann in einem <target>
einfach der <javac>
Tag verwendet werden. Wird der Parameter “srcdir” angegeben, so werden alle .java Files in diesem Verzeichnis übersetzt.
<javac srcdir="." />
Jar File erstellen
Um ein Jar File zu erstellen kann innerhalb eines Targets der <jar>
Tag verwendet werden. Ein jar kann sich selber natürlich nicht enthalten. Im Beispiel werden alle .class Files in allen Unterordnern von basedir zum jar hallo.jar hinzugefügt.
Welches die Mainclass ist kann nicht direkt angegeben werden.
<jar destfile="hello.jar" basedir="." includes="**/*.class" />
Ausführen von Java Code
<java classname="hello" classpath="hello.jar" fork="true" />
Erstellen von Ordnern
<mkdir dir="/home/noah/myproject" />
Löschen von Ordnern und Dateien
<delete dir="/home/noah/myproject" />
<delete file="/tmp/huj" />
<delete>
<fileset dir="/home/noah/myproject" includes="**/*.class" />
</delete>
JUnit Tests
Unitests können auch ausgeführt werden. Oft gibt es Probleme weil junit.jar nicht im Class-Path ist.
<junit>
<test name="ExampleTest" />
</junit>
Classpath definieren
Direkt im <project>
Tag:
<path id="classpath.base">
</path>
<path id="classpath.test">
<pathelement location="/usr/lib/java/junit.jar" />
<pathelement location="." />
<path refid="classpath.base" />
</path>
Später kann mit
<classpath refid="classpath.test" />