<?xml version="1.0"?> 
<!-- JavaHelloWorld ant Build.xml //-->


<project default="help" basedir=".">
	<!-- 	Die Task <property> erlaubt die Definition 
		von "Umgebungsvariablen".
		Auf diese kann man mit ${variable} zugegriffen werden.
	-->
	<!-- flags fuer java und javac            -->
	<property name="compile.debug" value="true"/>
	<property name="compile.deprecation" value="false"/>
	<property name="compile.optimize" value="true"/>

	<!-- da stehen die Java Sourcen //-->
	<property name="src.dir" value="${basedir}/src"/> 
	
	<!-- und hier die Class Dateien (muss angelegt werden) //-->
	<property name="bin.dir" value="${basedir}/bin"/>

	<!-- Classpath :
		Es ist besser den CLASSPATH jeweils nur pro Task, 
		nicht allgemein zu setzen.
	-->
	<path id="compile.classpath">
		<!-- JAR Archive  -->
	    	<pathelement location="${bin.dir}"/>
	</path>
	
<!--	TASKS 			-->
	<!--	depends=".." : diese Task fuehrt zuerst init aus
		falls die init und clean Task erfolgreich war, 
		wird compile ausgefuehrt, sonst nicht.
		CLASSPATH wird direkt gesetzt			
	-->
	<target name="compile" depends="init">
	  	<javac srcdir="${src.dir}"
	  		destdir="${bin.dir}"
	         	classpath="${bin.dir}"
	         	debug="${compile.debug}" />
	</target>
	
	<target name="init" depends="clean">
		<!-- bin Verzeichnis anlegen -->
		<mkdir dir="${bin.dir}"/>
	</target>
	
	<target name="clean">
		<!-- bin Verzeichnis und Unterverzeichnisse loeschen -->
		<delete dir="${bin.dir}"/>
	</target>
	
	<target name="run" depends="compile">
		<java classname="HelloWorld" >
         		<arg value="keines"/> 
         		<arg value="nochmal keines"/> 
         	<classpath>
         		<!-- jars			-->
           		<pathelement location="${basedir}"/>
         		<!-- Klassen			-->
           		<pathelement path="${bin.dir}"/>
         	</classpath>
       		</java>

	</target>
	<target name="help">
		<echo>
			folgende Tasks sind vorhanden:
			1) uebersetzen des Java HelloWorld
				ant compile
			2) starten des Java HelloWorld
				ant run
			3) diese Ausgabe : "default" Target
				ant
			Die folgenden Tasks werden von den andern aus
			aufgerufen.
			4) clean : Target zum Loeschen der Class Dateien
				ant clean
			5) init : Target zum Anlegen des Class Dateien Dirs
				ant init
		</echo>
	</target>
</project>
