<?xml version="1.0"?>
<project name="Core Resources Automated Tests" default="run" basedir=".">

  <!-- The property ${eclipse-home} should be passed into this script -->
  <!-- sets the properties eclipse-home, and library-file -->
  <property name="eclipse-home" value="${basedir}/../../"/>
  <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>
  <property name="resources_location" value="${eclipse-home}/core_resources_sniff_folder"/>
  <property name="plugin-name" value="org.eclipse.core.tests.resources"/>

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

  <!-- This target holds code to cleanup the testing environment after the tests -->
  <!-- have been run. You can use this to delete temporary files that are created. -->
  <target name="cleanup">
    <delete dir="${resources_location}" 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*.xml"/>
      <property name="output-file" value="${plugin-name}.xml"/>
    </ant>
  </target>
  
  <!-- This target runs the performance test suites. Any actions that need to happen after all -->
  <!-- the tests have been run should go here. -->
  <target name="performance" depends="init,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="ResourcesPerformanceTests" depends="init,cleanup">
    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
      <property name="data-dir" value="${resources_location}"/>
      <property name="plugin-name" value="org.eclipse.core.tests.resources"/>
      <property name="classname" value="org.eclipse.core.tests.resources.perf.AllTests"/>
    </ant>
  </target>  	
  
  <target name="ResourcesTests" depends="init,cleanup">
    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
      <property name="data-dir" value="${resources_location}"/>
      <property name="plugin-name" value="org.eclipse.core.tests.resources"/>
      <property name="classname" value="org.eclipse.core.tests.resources.AutomatedTests"/>
    </ant>
  </target>
    
  <!-- This target defines the tests that need to be run. -->
  <target name="suite" depends="ResourcesTests"/>  
  
  <!-- This target defines the performance tests that need to be run. -->
  <target name="performance-suite" depends="ResourcesPerformanceTests"/>  
	
 </project>
