<?xml version="1.0"?>

<project
	name="testsuite"
	default="run"
	basedir=".">
	<!-- The property ${eclipse-home} should be passed into this script -->
	<!-- Set a meaningful default value for when it is not. -->
	<!-- <property name="eclipse-home" value="${basedir}\..\.." /> -->

	<echo message="basedir ${basedir}" />
	<echo message="eclipse place ${eclipse-home}" />

	<!-- sets the properties plugin-name, and library-file -->
	<property
		name="plugin-name"
		value="org.eclipse.wst.sse.core.tests" />
	<property
		name="library-file"
		value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml" />
	<property
		name="workspace"
		value="${eclipse-home}/junitworkspace-${plugin-name}" />
	<!-- This target holds all initialization code that needs to be done for -->
	<!-- all tests that are to be run. Initialization for individual tests -->
	<!-- should be done within the body of the suite target. -->
	<target name="init">
		<tstamp />
		<delete>
			<fileset
				dir="${eclipse-home}"
				includes="org.eclipse.wst.sse.core.tests.*xml" />
		</delete>
	</target>

	<!-- This target defines the tests that need to be run. -->
	<target name="suite">
		<property
			name="wst-folder"
			value="${eclipse-home}/wst_folder" />
		<delete
			dir="${wst-folder}"
			quiet="true" />
		<ant
			target="core-test"
			antfile="${library-file}"
			dir="${eclipse-home}">
			<property
				name="data-dir"
				value="${wst-folder}" />
			<property
				name="plugin-name"
				value="${plugin-name}" />
			<property
				name="classname"
				value="org.eclipse.wst.sse.core.tests.SSEModelTestSuite" />
			<property
				name="plugin-path"
				value="${eclipse-home}/plugins/${plugin-name}" />
		</ant>
	</target>

	<!-- This target holds code to cleanup the testing environment after -->
	<!-- after all of the tests have been run. You can use this target to -->
	<!-- delete temporary files that have been created. -->
	<target name="cleanup">
		<!--<delete dir="${workspace}" quiet="true" />-->
	</target>

	<!-- This target runs the test suite. Any actions that need to happen -->
	<!-- after all the tests have been run should go here. -->
	<target
		name="run"
		depends="init,suite,cleanup">
		<ant
			target="collect"
			antfile="${library-file}"
			dir="${eclipse-home}">
			<property
				name="includes"
				value="org.eclipse.wst.sse.core.tests.*xml" />
			<property
				name="output-file"
				value="${plugin-name}.xml" />
		</ant>
		<!--		<emailResults resultsFile="${build-results-home}/${plugin-name}.xml" addresslist="david_williams@us.ibm.com" /> -->
	</target>

</project>