<?xml version="1.0" encoding="UTF-8"?>
<project name="TestMenuItemWithPath" basedir="../..">

	<property name="main.src" value="main/src"/>
	<property name="main.lib.dir" value="main/lib"/>
	<property name="main.lib.bin" value="${main.lib.dir}/bin"/>
	<property name="main.lib.src" value="${main.lib.dir}/src"/>
	<property name="test.src" value="test/src"/>
	<property name="test.lib.dir" value="test/lib"/>
	<property name="test.lib.bin" value="${test.lib.dir}/bin"/>
	<property name="test.lib.src" value="${test.lib.dir}/src"/>
	<property name="bin" value="bin"/>
	<property name="build" value="build"/>
	
	<target name="clean">
		<delete dir="${build}"/>
		<delete dir="${bin}"/>
	</target>
		
	<target name="compile">
		<mkdir dir="${bin}"/>
		<javac destdir="${bin}">
			<src path="${main.src}"/>
			<src path="${main.lib.src}"/>
			<classpath>
				<pathelement location="${main.lib.bin}"/>
			</classpath>
		</javac>
	</target>

	<pathconvert property="class.path" pathsep=" ">
		<fileset dir=".">
			<include name="${main.lib.bin}/**/*.jar"/>
		</fileset>
		<mapper type="flatten"/>
	</pathconvert>

	<target name="package" depends="compile">
		<mkdir dir="${build}"/>
		<copy todir="${build}">
			<fileset dir=".">
				<include name="${main.lib.bin}/**/*.jar"/>
			</fileset>
			<mapper type="flatten"/>
		</copy>
		<jar basedir="${bin}" destfile="${build}/application.jar">
			<manifest>
				<attribute name="Main-Class" value="main.Application"/>
				<attribute name="Class-Path" value="${class.path}"/>
			</manifest>
		</jar>
	</target>

	<target name="run" depends="package">
		<java jar="${build}/application.jar" fork="true"/>
	</target>

	<target name="compile-test" depends="package">
		<mkdir dir="${bin}"/>
		<javac destdir="${bin}">
			<src path="${test.src}"/>
			<src path="${test.lib.src}"/>
			<classpath>
				<fileset dir="${test.lib.bin}">
					<include name="**/*.jar"/>
				</fileset>
				<fileset dir="${build}">
					<include name="**/*.jar"/>
				</fileset>
			</classpath>
		</javac>
	</target>

	<target name="run-test" depends="compile-test">
		<junit>
			<test name="main.TestMenuItemWithPath"/>
			<classpath>
				<pathelement path="${bin}"/>
				<fileset dir="${test.lib.bin}">
					<include name="**/*.jar"/>
				</fileset>
				<fileset dir="${build}">
					<include name="**/*.jar"/>
				</fileset>
			</classpath>
		</junit>
	</target>

</project>

