<?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.ui.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.ui.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="${workspace}"
			quiet="true" />
		<ant
			target="ui-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.ui.tests.SSEUITestSuite" />
			<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.ui.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>