<project name="Automated Testing" default="all"  basedir="." >

	<!--properties file containing the plugin directory name including version number-->
	<property file="test.properties" />
	
	<!-- urls and such from the build -->
	<property file="${basedir}/../../../build.cfg" />

	<!--default directory where test-eclipse will be installed-->
	<property name="install" value="${basedir}/target" />
	
	<!--name that can be added to report name to identify which platform tests results come from-->
	<property name="platform" value="" />

	<!-- The root of the eclipse installation -->
	<property name="eclipse-home" value="${install}/eclipse" />

	<!-- The directory that will contain the xml and html results from the tests that are run -->
 	<property name="results" value="${basedir}/results" />

	<target name="setup" if="clean" description="Reinstall the test Eclipse installation if specified by user">
		<delete dir="${install}" /><mkdir dir="${install}" />
		
		<echo message="Download, then unpack: Eclipse, EMF, and OCL" />
		<property name="common.releng.dir" value="${basedir}/../../../org.eclipse.modeling.common.releng"/>
		<property name="getTestDependencies.xml" value="${common.releng.dir}/scripts/getTestDependencies.xml"/>
		<ant target="getTestDependency" antfile="${getTestDependencies.xml}" dir="${common.releng.dir}">
			<property name="url" value="${eclipseURL}" />
			<property name="file" value="${eclipseFile}" />
			<property name="unpackDest" value="${install}"/>
		</ant>
		<ant target="getTestDependency" antfile="${getTestDependencies.xml}" dir="${common.releng.dir}">
			<property name="url" value="${emfURL}" />
			<property name="file" value="${emfFile}" />
			<property name="unpackDest" value="${install}"/>
		</ant>
		<ant target="getTestDependency" antfile="${getTestDependencies.xml}" dir="${common.releng.dir}">
			<property name="url" value="${oclURL}" />
			<property name="file" value="${oclFile}" />
			<property name="unpackDest" value="${install}"/>
		</ant>
		<ant target="getTestDependency" antfile="${getTestDependencies.xml}" dir="${common.releng.dir}">
			<property name="url" value="${uml2URL}"/>
			<property name="file" value="${uml2File}"/>
			<property name="unpackDest" value="${install}" />
		</ant>
		<property name="dir" location="."/>
		<echo message="Unpack SDK + JUnit Tests (${dir}/m2m-*.zip) ..."/>		
		<unzip dest="${install}" overwrite="true">
		    <fileset dir="${dir}"><include name="**/m2m-*.zip"/></fileset>
		</unzip>
	</target>

	<target name="runtests" depends="setup" description="Runs ant on the test.xml for a specified plugin.  Requires a property value setting for testPlugin only if test.properties is not available.  The property testPlugin represents a directory name made up of the plugin id and plugin version.  This directory must contain a valid test.xml.">
		<!-- TODO: if your test plugin is jarred, do nothing here
		     TODO: if your test plugin is NOT a jarred plugin, uncomment the next line and comment out the 4 lines thereafter -->
		<!-- <echo message="${eclipse-home}/plugins/${testPlugin} is not a jarred plugin. No unpack required!"/> -->
		<echo message="Unpack ${eclipse-home}/plugins/${testPlugin}.jar to ${eclipse-home}/plugins/${testPlugin} ... "/>
		<move file="${eclipse-home}/plugins/${testPlugin}.jar" tofile="${eclipse-home}/plugins/${testPlugin}_.jar"/>
		<unjar src="${eclipse-home}/plugins/${testPlugin}_.jar" dest="${eclipse-home}/plugins/${testPlugin}"/>
		<delete file="${eclipse-home}/plugins/${testPlugin}_.jar"/>
		
		<echo message="Running test.xml from jarfile ${eclipse-home}/plugins/${testPlugin} ... "/>
		<ant antfile="${eclipse-home}/plugins/${testPlugin}/test.xml" dir="${eclipse-home}"/>
		<copy file="${eclipse-home}/${report}.xml" tofile="${results}/xml/${report}_${platform}.xml" />
	</target>

	<target name="m2m" description="Runs the test.xml of the tests plugin">
		<antcall target="runtests">
			<param name="testPlugin" value="${org.eclipse.m2m.tests.qvt.oml}" />
			<param name="report" value="org.eclipse.m2m.tests.qvt.oml" />
		</antcall>
		<antcall target="runtests">
			<param name="testPlugin" value="${org.eclipse.m2m.tests.qvt.oml.ui}" />
			<param name="report" value="org.eclipse.m2m.tests.qvt.oml.ui" />
		</antcall>

		<!-- test if chkpii script exists before proceeding -->
		<property name="common.releng.dir" value="${basedir}/../../../org.eclipse.modeling.common.releng"/>
		<property name="chkpii.xml" value="${common.releng.dir}/scripts/chkpii.xml"/>
		<available file="${chkpii.xml}" property="chkpiiXMLAvailable"/>
		<antcall target="runChkpii"/>
	</target>

	<target name="runChkpii" if="chkpiiXMLAvailable">
		<ant target="chkpii" antfile="${chkpii.xml}" inheritall="true">
			<property name="zipPattern" value="m2m-*.zip"/>
		</ant>
	</target>

	<target name="all">
		<antcall target="m2m" />
		<antcall target="genHtml" />
	</target>
	
	<target name="genHtml" description="Generates HTML results with provided JUNIT.XSL provided">
		<style style="JUNIT.XSL" basedir="${results}/xml" destdir="${results}/html" />
	</target>
</project>
