Beim kompilieren mit dem Build-Tool Ant werden oft drei Tasks definiert, preCompile, executeCompiler und postCompile. In dem Task preCompile werden alle Arbeiten erledigt die vor dem Kompiliervorgang statt finden muessen, wie z.B. das Erstellen eines Zielverzeichnisses.
<property name="projectBuild" value="${projectHome}/build/classes" /> <fileset id="classesFiles" dir="${projectBuild}" /> <target name="preCompile" > <mkdir dir="${projectBuild}" /> </target>
Im Task executeCompiler findet das eigentliche Kompilieren statt.
<property name="compileTarget" value="1.5" /> <path id="compilerSourceFiles" > <pathelement path="${projectSources}" /> </path> <path id="compilerLibraryFiles" > <fileset dir="${libraries}" > <include name="**/*.jar" /> </fileset> <fileset dir="${j2eeLibraries}" > <include name="**/*.jar" /> </fileset> </path> <target name="executeCompiler" depends="preCompile" > <javac destdir="${projectBuild}" target="${compileTarget}" > <src refid="compilerSourceFiles" /> <classpath refid="compilerLibraryFiles" /> </javac> </target>
Im Task postCompile sind alle Arbeiten beschrieben die nach dem kompilieren ausgefuehrt werden sollen, wie z.B. das kopieren aller nicht Quellcode-Dateien vom Source-Verzeichnis in das Build-Verzeichnis.
<target name="postCompile" depends="executeCompiler" > <copy todir="${projectBuild}" > <fileset dir="${projectSources}" > <exclude name="**/*.java" /> </fileset> </copy> </target>
Der Tag “exclude” teilt Ant mit das er rekursiv durch alle Verzeichnisse gehen soll und dabei alle Dateien die mit “.java” enden auslassen soll.