<!-- $Id: build.xml,v 1.4 2007/11/04 04:06:37 bacon Exp $ -->

<project name="ase" default="release" basedir=".">

	<description>
		ANT build script for ASE 
	</description>

	<!--
	<property name="destdir" location="${basedir}/release" />
	-->

	<target name="release" depends="init-release,aseawk.jar,aseawk.test">
	</target>

	<target name="debug" depends="init-debug,aseawk.jar,aseawk.test">
	</target>

	<target name="init-release">
		<property name="destdir" location="${basedir}/release" />
		<property name="libdir" location="${destdir}/lib" />
		<property name="bindir" location="${destdir}/bin" />
		<mkdir dir="${libdir}" />
		<mkdir dir="${bindir}" />
	</target>

	<target name="init-debug">
		<property name="destdir" location="${basedir}/debug" />
		<property name="libdir" location="${destdir}/lib" />
		<property name="bindir" location="${destdir}/bin" />
		<mkdir dir="${libdir}" />
		<mkdir dir="${bindir}" />
	</target>

	<target name="aseawk.jar" description="compile the awk classes">
		<javac srcdir="awk" destdir="${libdir}" />

		<jar jarfile="${libdir}/aseawk.jar"
		     basedir="${libdir}"
		     includes="ase/awk/*.class" />

		<delete dir="${libdir}/ase" />
	</target>

	<target name="aseawk.test" depends="aseawk.jar" 
	        description="compile the awk test classes">

		<javac srcdir="test/awk" 
		       classpath="${libdir}/aseawk.jar" 
		       destdir="${bindir}" />

		<unjar src="${libdir}/aseawk.jar" dest="${bindir}" />
		<jar jarfile="${bindir}/aseawk.jar" 
		     basedir="${bindir}"
		     includes="**/*.class" 
		     manifest="test/awk/manifest" />
		<delete>
			<fileset dir="${bindir}" includes="*.class" />
		</delete>
		<delete dir="${bindir}/ase" verbose="true" />
		<delete dir="${bindir}/META-INF" verbose="true" />

		<copy file="test/awk/AseAwkApplet.html" todir="${destdir}" />
		<copy file="test/awk/AseAwkApplet-ko.html" todir="${destdir}" />
		<copy file="test/awk/AseAwkApplet.js" todir="${destdir}" />
	</target>

	<target name="clean" description="clean up">
		<delete dir="${basedir}/release"
		        includes="**/*.class,**/*.jar" verbose="true"/>
		<delete dir="${basedir}/debug"
		        includes="**/*.class,**/*.jar" verbose="true"/>
	</target>

</project>