<project default="main" basedir="..">


	<!-- 

STEPS:

- Unzip Eclipse runtime bundle from ECLIPSE_BUNDLE_PATH
- Copy features from build/features to eclipse/features
- Copy plugins from build/plugins to eclipse/plugins
- Load and invoke ant for each "test.xml" in the test plugins
- Collect config files
- Delete eclipse runtime

 -->
	<property name="eclipse-home" value="${basedir}/eclipse-runtime" />
	<property name="eclipse.test.home" value="${eclipse-home}" />
	<property name="build.repo" value="${buildHome}/buildRepo" />
	<property name="plugin.path" value="${buildHome}/plugins" />
	<property name="reports.path" value="${buildHome}/tests" />


	<property name="os" value="${osgi.os}" />
	<property name="arch" value="${osgi.arch}" />
	<property name="ws" value="${osgi.ws}" />

	<target name="init">
		<echoproperties />
		<mkdir dir="${reports.path}" />




		<!-- Delete old directory just in case -->

		<delete dir="${eclipse.test.home}" />

		<copy todir="${eclipse.test.home}">
			<fileset dir="${eclipse.home}" />
		</copy>

		<!-- Unzip the Eclipse runtime package -->
		<!-- <unzip src="${eclipseBundle}" dest="${eclipse.test.home}" />
 -->

		<copy todir="${eclipse.test.home}/features">
			<fileset dir="${build.repo}/features">
				<include name="org.eclipse.stem.*" />
			</fileset>
		</copy>

		<copy todir="${eclipse.test.home}/plugins">
			<fileset dir="${build.repo}/plugins">
				<include name="org.eclipse.stem.*" />
			</fileset>
		</copy>

	</target>

	<target name="runTest">
		<echo>Running test for ${plugin}</echo>

		<ant antfile="${plugin.path}/${plugin}/test.xml" dir="${eclipse-home}" />
		<copy file="${eclipse-home}/${plugin}.xml" todir="${reports.path}" />
	</target>


	<target name="main" depends="init">
		<antcall target="runTest">
			<param name="plugin" value="org.eclipse.stem.tests.core" />
		</antcall>
		<antcall target="runTest">
			<param name="plugin" value="org.eclipse.stem.tests.jobs" />
		</antcall>
		<antcall target="runTest">
			<param name="plugin" value="org.eclipse.stem.tests.definitions" />
		</antcall>
		<antcall target="runTest">
			<param name="plugin" value="org.eclipse.stem.tests.diseasemodels" />
		</antcall>
		<antcall target="runTest">
			<param name="plugin" value="org.eclipse.stem.tests.diseasemodels.example" />
		</antcall>
		<antcall target="runTest">
			<param name="plugin" value="org.eclipse.stem.tests.diseasemodels.experimental" />
		</antcall>
		<antcall target="runTest">
			<param name="plugin" value="org.eclipse.stem.tests.diseasemodels.externaldatasource" />
		</antcall>
		<antcall target="runTest">
			<param name="plugin" value="org.eclipse.stem.tests.diseasemodels.forcing" />
		</antcall>
		<antcall target="runTest">
			<param name="plugin" value="org.eclipse.stem.tests.diseasemodels.multipopulation" />
		</antcall>
		<antcall target="runTest">
			<param name="plugin" value="org.eclipse.stem.tests.populationmodels" />
		</antcall>
		<antcall target="runTest">
			<param name="plugin" value="org.eclipse.stem.tests.grapheditor" />
		</antcall>
		<antcall target="runTest">
			<param name="plugin" value="org.eclipse.stem.tests.graphgenerators" />
		</antcall>
		<antcall target="runTest">
			<param name="plugin" value="org.eclipse.stem.tests.internal.data" />
		</antcall>
		<antcall target="runTest">
			<param name="plugin" value="org.eclipse.stem.tests.transport" />
		</antcall>
		<antcall target="runTest">
			<param name="plugin" value="org.eclipse.stem.tests.ui" />
		</antcall>
		<antcall target="runTest">
			<param name="plugin" value="org.eclipse.stem.tests.automaticexperiment" />
		</antcall>
	</target>

</project>
