<project name="example" default="run" basedir=".">
	<description>CTL4j project</description>

	<property name="src" location="src"/>
	<property name="build" location="build"/>
	<property name="dist" location="dist"/>
	<property name="cache" location="depcache"/>
	
	<property name="debug" value="true"/>
	<property environment="env"/>
	<property name="ctl4j" value="%ctlloc%"/>
	<property name="example" value="Client"/>
	
	<exec executable="find" outputproperty="tmp-jars">
		<arg value="${ctl4j}"/>
		<arg value="-name"/>
		<arg value="*.jar"/>
		<arg value="-print0"/>
	</exec>
	<exec executable="sed" outputproperty="jars" inputstring="${tmp-jars}">
		<arg value="s/jar/jar${path.separator}/g"/>
	</exec>

	<property name="classpath" value="${env.CLASSPATH}${path.separator}${build}${path.separator}${ctl4j}/build${path.separator}${jars}"/>

	<target name="run" depends="compile" description="Run example.">
		<java classname="${example}" classpath="${classpath}" fork="true">
			<jvmarg value="-Dfile.encoding=ISO-8859-1"/>
		</java>
	</target>

	<target name="compile" depends="init" description="Compile.">
		<depend srcdir="${src}" destdir="${build}" cache="${cache}"
			closure="yes"/>
		<javac srcdir="${src}" destdir="${build}" nowarn="true" 
			debug="${debug}" excludes="Client.java,Server.java"
			classpath="${classpath}"/>
		<java classname="CodeGen.Main" classpath="${classpath}" fork="true">
			<arg value="Impl.%comp%"/>
		</java>
		<javac srcdir="${src}" destdir="${build}" nowarn="true"
			debug="${debug}" classpath="${classpath}"/>
	</target>

	<target name="init" description="Initialize.">
		<tstamp/>
		<mkdir dir="${build}"/>
		<mkdir dir="${cache}"/>
	</target>

	<target name="clean" description="Cleanup.">
		<delete dir="${build}" quiet="true"/>
		<delete dir="${dist}" quiet="true"/>
		<delete dir="${cache}" quiet="true"/>

		<delete file="src/javaSys/%comp%RI.java"/>
		<delete file="src/javaSys/%comp%CI.java"/>
		<delete file="src/javaSys/%comp%Local.java"/>
		<delete file="src/javaSys/%comp%Debug.java"/>
	</target>
</project>
