<?xml version="1.0"?>

<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>
