<?xml version="1.0" encoding="UTF-8"?>

<project name="testsuite" default="runtests" 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}\..\.."/>

  <!-- sets the properties eclipse-home, and library-file -->
  <property name="plugin-name" value="org.eclipse.ui.tests.performance"/>
  <property name="library-file"
            value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>

  <!-- 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*.xml"/>
    </delete>
  </target>

	<!--default target that does nothing.  The performance target is called explicitly
	by build team.-->
  <target name="runtests"/>

  <!-- 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">
  </target>

  <!-- This target runs the performance test suites. -->
  <target name="performance" depends="init,performance-suite,jface-performance-suite,cleanup">
    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
      <property name="includes" value="org*.xml"/>
      <property name="output-file" value="${plugin-name}.xml"/>
    </ant>
  </target>
  
  <target name="performance-suite">
  	<property name="performance-workspace" value="${eclipse-home}/performance-workspace-platform-ui"/>
    <delete dir="${performance-workspace}" quiet="true"/>
  	<ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
      <property name="data-dir" value="${performance-workspace}"/>
      <property name="plugin-name" value="${plugin-name}"/>
      <property name="classname" value="org.eclipse.ui.tests.performance.UIPerformanceTestSuite"/>
    </ant>
  </target>

	<target name="jface-performance-suite">
	  	<property name="performance-workspace-jface" value="${eclipse-home}/performance-workspace-platform-jface"/>
	    <delete dir="${performance-workspace-jface}" quiet="true"/>
	  	<ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
	      <property name="data-dir" value="${performance-workspace-jface}"/>
	      <property name="plugin-name" value="${plugin-name}"/>
	      <property name="classname" value="org.eclipse.jface.tests.performance.JFacePerformanceSuite"/>
	    </ant>
	  </target>
	
</project>
