<project name="checkbook" default="test">

<taskdef name="plistgen" classname="com.isx.ant.plistgen.PListGen"/>
<taskdef name="jaxbcheck" classname="com.isx.ant.jaxbtask.JaxbCheck"/>

<!-- define the home for the JAXB distribution -->
<property name="JAXBHOME" value="/usr/java/sunxml/jaxb-1.0-ea"/>
<path id="jaxb.class.path">
      <fileset dir="${JAXBHOME}/lib"><include name="**.jar"/></fileset>
</path>
<path id="build.class.path">
      <fileset dir="${JAXBHOME}/lib"><include name="jaxb-rt-1.0-ea.jar"/></fileset>
</path>
<path id="run.class.path">
      <fileset dir="${JAXBHOME}/lib"><include name="jaxb-rt-1.0-ea.jar"/></fileset>
      <pathelement path="build"/>
</path>

<path id="src.path.list">
<pathelement path="src"/>
<pathelement path="gensrc"/>
</path>

<property name="packageList" value="packages-checkbook"/>

<target name="javadoc">

	<plistgen
		sourcepathref="src.path.list"
		packagelist="${packageList}"
	>
	</plistgen>
	<javadoc
        	sourcepathref="src.path.list"
		packageList="${packageList}"
        	windowtitle="Checkbook Example API Documentation"
		destdir="docs"
	>
	</javadoc>
</target>

<target name="test" depends="build">
<java fork="yes" classname="checkbook.demos.CheckbookApp" dir="." classpathref="run.class.path">
</java>
</target>


<target name="build" depends="jaxb">
	<javac destdir="build" includes="**/*.java"
		includeAntRuntime="false">
	<src path="src"/>
	<src path="gensrc"/>
	<classpath refid="build.class.path"/>
	</javac>
</target>

<target name="jaxbcheck" depends="init">
	<jaxbcheck dtdFile="datadefs/checkbook.dtd"
		      xjsFile="datadefs/checkbook.xjs"
		      dest="gensrc"
		      property="jaxb.checkbook.dobuild"
		      value="true"/>
</target>

<target name="jaxb" depends="jaxbcheck" if="jaxb.checkbook.dobuild">
<java fork="yes" classname="com.sun.tools.xjc.Main" dir="." classpathref="jaxb.class.path">
      <arg value="datadefs/checkbook.dtd"/>
      <arg value="datadefs/checkbook.xjs"/>
      <arg value="-d"/>
      <arg value="gensrc"/>
</java>
</target>

<target name="clean">
	<delete includeEmptyDirs="true">
		<fileset dir="build"/>
		<fileset dir="gensrc"/>
		<fileset dir="docs"/>
	</delete>
</target>

<target name="init">
	<tstamp/>
	<mkdir dir="docs"/>
	<mkdir dir="gensrc"/>
	<mkdir dir="build"/>
</target>

</project>
