<?xml version="1.0" ?>
<project name="drone" default="main">
	
	<property name="pt2dir" location="pt2"/>
	<property name="dronedir" location="plugins"/>
	<property name="distdir" location="dist"/>
	<property name="libdir" location="lib"/>
	
	<property name="debug" value="true"/>
	<property name="debuglevel" value="lines,vars,source"/>

	<target name="main" depends="no-gui, pt2-gui" description="Main target">
        <echo>
            Building the project.
        </echo>
    </target>
	
	<target name="run" description="Run drone">
		<java classname="ptolemy.vergil.VergilApplication" fork="true">
        	<classpath>
	    		<fileset dir="${libdir}">
	    			<include name="**/*.jar"/>
	    		</fileset>
	    		<fileset dir="${distdir}">
	    			<include name="**/*.jar"/>
	    		</fileset>
        		<pathelement path="."/>
          		<pathelement path="${java.class.path}"/>
        	</classpath>
        	<jvmarg value="-Djava.library.path=${java.library.path}:plugins/drone.frei0r/jni/lib:plugins/drone.artkp/jni/lib"/>
      	</java>
	</target>
		
	<target name="no-gui" depends="pt2, util, drone" description="No GUI">
        <echo>
            Building the project's non-GUI library.
        </echo>
    </target>

    <target name="pt2" description="Ptolemy II target">
		<echo>
			Building Ptolemy II.
		</echo>
        <javac srcdir="pt2/src" destdir="pt2/build" debug="${debug}" debuglevel="${debuglevel}"/>
		<jar destfile="${distdir}/pt2.jar" basedir="pt2/build"/>
		<jar destfile="${distdir}/pt2-src.jar" basedir="pt2/src"/>
	</target>
	
	<target name="pt2-gui" description="Ptolemy II GUI target">
		<echo>
			Building Ptolemy II GUI.
		</echo>
        <javac srcdir="pt2-gui/src" destdir="pt2-gui/build" debug="${debug}" debuglevel="${debuglevel}">
			<classpath>
		    	<fileset dir="${distdir}">
		    		<include name="**/*.jar"/>
		    	</fileset>
			</classpath>
        </javac>
		<jar destfile="${distdir}/pt2-gui.jar" basedir="pt2-gui/build"/>
		<jar destfile="${distdir}/pt2-gui-src.jar" basedir="pt2-gui/src"/>
	</target>

	<target name="util" description="Drone utilities">
    	<echo>
    		Building utilities.
    	</echo>
    	<ant dir="plugins/drone.util" inheritAll="true"/>
    </target>

	<target name="drone" description="Drone plugins">
    	<echo>
    		Building plugins.
    	</echo>
    	<subant target="main">
			<fileset dir="plugins" includes="**/build.xml"/>
		</subant>
    </target>
	
	<target name="clean">
		<echo>
			Cleaning Drone.
		</echo>
		<delete>
			<fileset dir="${distdir}" includes="**/pt2*.jar"/>
			<fileset dir="pt2/build" includes="**/*"/>
			<fileset dir="pt2-gui/build" includes="**/*"/>
		</delete>
		<subant target="clean">
			<fileset dir="plugins" includes="**/build.xml"/>
			<fileset dir="plugins/drone.util" includes="**/build.xml"/>
		</subant>
	</target>

	<target name="test">
		<echo>
			Running Drone test suite.
		</echo>
		<subant target="test">
			<fileset dir="plugins" includes="**/build.xml"/>
			<fileset dir="plugins/drone.util" includes="**/build.xml"/>
		</subant>
	</target>

</project>
