<project
    name="Automated Eclipse Testing"
    default="all"
    basedir=".">
	<!--properties file containing the plugin directory name including version 
		number, and list of required test plug-ins expressed as command-line argument 
		to unzip executable. Generated and packaged at build time. -->
    <property file="test.properties"/>

    <property environment="env"/>

    <property
        name="J2SE-5.0"
        value="%JAVA_6_HOME%/jre/bin/java"/>
    <property
        name="J2SE-6.0"
        value="%JAVA_6_HOME%/jre/bin/java"/>
    <property
        name="java.home"
        value="%JAVA_HOME%/jre"/>
	<!--properties file containing the build information -->
    <property file="label.properties"/>

	<!--default directory where test-eclipse will be installed <property name="install" 
		value="${basedir}" /> -->

	<!--suffix added to test output files to identify platform on which tests 
		ran. -->
    <property
        name="platform"
        value="${os}.${ws}.${arch}"/>

	<!-- The root of the eclipse installation -->
    <property
        name="eclipse-home"
        value="${basedir}/eclipse"/>
    <property
        name="repoZip"
        value="${basedir}/eclipse-junit-tests-${buildId}.zip"/>
    <property
        name="repoLocation"
        value="${basedir}/testRepo"/>
    <property
        name="platformLocation"
        value="${basedir}/platformLocation"/>

	<!-- The directory that will contain all files containing information on 
		the tests that ran. -->
    <property
        name="results"
        value="${basedir}/results"/>

	<!--Directory for JUnit report output, console log output and .log content 
		for each test suite. Overrides default in org.eclipse.test/library.xml -->
    <property
        name="junit-report-output"
        value="${results}/${platform}"/>

	<!--Directory name of org.eclipse.test plug-in installed in ${eclipse-home} -->
    <target
        name="setup"
        depends="init">
        <condition
            property="setupTarget"
            value="setup-zip">
            <contains
                string="${runtimeArchive}"
                substring=".zip"/>
        </condition>
        <condition
            property="setupTarget"
            value="setup-tar.gz">
            <contains
                string="${runtimeArchive}"
                substring=".tar.gz"/>
        </condition>
        <condition
            property="repoexists"
            value="true">
            <available file="${repoLocation}"/>
        </condition>
        <condition
            property="extraIU"
            value="org.eclipse.equinox.p2.discovery.feature.feature.group">
            <equals
                arg1="${testPlugin}"
                arg2="org.eclipse.equinox.p2.tests.discovery"/>
        </condition>
        <antcall target="setupRepo"/>
		<!--<antcall target="${setupTarget}" /> <antcall target="configureDeltaPack" 
			/> -->
    </target>

	<!--Extract test bundles repo -->
    <target
        name="setupRepo"
        unless="repoexists">
        <mkdir dir="${repoLocation}"/>
        <exec
            dir="."
            executable="unzip">
            <arg line="-o ${repoZip} -d ${repoLocation}"/>
        </exec>
    </target>

	<!--setup for zip archives -->
    <target
        name="setup-zip"
        description="Reinstall the test Eclipse installation if specified by user">
        <delete dir="${eclipse-home}"/>
        <mkdir dir="${eclipse-home}"/>
        <exec
            dir="."
            executable="unzip">
            <arg line="-o -qq ${runtimeArchive} -d ${basedir}"/>
        </exec>
        <antcall target="installExtraPlugins"/>
        <antcall target="installTestPlugins"/>
    </target>

	<!--setup for tar.gz archives -->
    <target
        name="setup-tar.gz"
        description="Reinstall the test Eclipse installation if specified by user">
        <property
            name="currentDir"
            value="${basedir}"/>
        <delete dir="${eclipse-home}"/>
        <mkdir dir="${eclipse-home}"/>
        <exec
            dir="${eclipse-home}"
            executable="tar">
            <arg line="-xzf ${currentDir}/${runtimeArchive}"/>
        </exec>
        <antcall target="installExtraPlugins"/>
        <antcall target="installTestPlugins"/>
    </target>

	<!--use an stable version of the director so that instability in the current 
		build doesn't cause all the tests to fail -->
    <target name="setupPlatform">
        <property file="equinoxp2tests.properties"/>
        <condition
            property="platformArchive"
            value="${org.eclipse.equinox.p2.reconciler.tests.35.platform.archive.linux}">
            <os family="unix"/>
        </condition>
        <condition
            property="platformArchive"
            value="${org.eclipse.equinox.p2.reconciler.tests.35.platform.archive.macosx}">
            <os family="mac"/>
        </condition>
        <condition
            property="platformArchive"
            value="${org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32}">
            <os family="windows"/>
        </condition>
        <condition
            property="platformTarget"
            value="platform-zip">
            <contains
                string="${platformArchive}"
                substring=".zip"/>
        </condition>
        <condition
            property="platformTarget"
            value="platform-tar.gz">
            <contains
                string="${platformArchive}"
                substring=".tar.gz"/>
        </condition>
        <echo message="platform target ${platformTarget} platformArchive ${platformArchive}"/>
        <antcall target="${platformTarget}"/>
    </target>


	<!--setup for platform zip archives -->
    <target
        name="platform-zip"
        description="Reinstall the test Eclipse installation if specified by user">
        <delete dir="${platformLocation}"/>
        <mkdir dir="${platformLocation}"/>
        <exec
            dir="${platformLocation}"
            executable="unzip">
            <arg line="-o -qq ${platformArchive} -d ${platformLocation}"/>
        </exec>
    </target>

	<!--setup for platform tar.gz archives -->
    <target
        name="platform-tar.gz"
        description="Reinstall the test Eclipse installation if specified by user">
        <delete dir="${platformLocation}"/>
        <mkdir dir="${platformLocation}"/>
        <exec
            dir="${platformLocation}"
            executable="tar">
            <arg line="-xzf ${platformArchive}"/>
        </exec>
    </target>

    <target
        name="installExtraPlugins"
        if="extraIU">
        <property file="equinoxp2tests.properties"/>
        <property
            name="currentBuildRepo"
            value="${org.eclipse.equinox.p2.tests.current.build.repo}"/>
        <echo>-installIU ${extraIU} +</echo>
        <exec
            executable="${eclipse-home}/eclipse"
            failonerror="false"
            dir="${eclipse-home}"
            timeout="900000"
            output="${basedir}/director.log"
            resultproperty="directorcode">
            <arg line="-vm ${java.home}/bin/java"/>
            <arg line="-application org.eclipse.equinox.p2.director"/>
            <arg line="-nosplash"/>
            <arg line="--launcher.suppressErrors"/>
            <arg line="-consoleLog"/>
            <arg line="-flavor tooling"/>
            <arg line="-installIUs ${extraIU}"/>
            <arg line="-p2.os ${os}"/>
            <arg line="-p2.ws ${ws}"/>
            <arg line="-p2.arch ${arch}"/>
            <arg line="-roaming"/>
            <arg line="-profile SDKProfile"/>
            <arg line="-repository ${currentBuildRepo}"/>
            <arg line="-destination ${eclipse-home}"/>
            <arg line="-bundlepool ${eclipse-home}"/>
        </exec>
    </target>

    <target name="installTestPlugins">
		<!--<antcall target="setupPlatform" /> -->
        <echo>-installIU ${testPlugin} +</echo>
        <exec
            executable="${eclipse-home}/eclipse"
            failonerror="true"
            dir="${eclipse-home}"
            timeout="900000"
            output="${basedir}/director.log"
            resultproperty="directorcode">
            <arg line="-vm ${java.home}/bin/java"/>
            <arg line="-application org.eclipse.equinox.p2.director"/>
            <arg line="-nosplash"/>
            <arg line="--launcher.suppressErrors"/>
            <arg line="-consoleLog"/>
            <arg line="-flavor tooling"/>
            <arg line="-installIUs ${testPlugin}"/>
            <arg line="-p2.os ${os}"/>
            <arg line="-p2.ws ${ws}"/>
            <arg line="-p2.arch ${arch}"/>
            <arg line="-roaming"/>
            <arg line="-profile SDKProfile"/>
            <arg line="-repository file:${repoLocation}"/>
            <arg line="-destination ${eclipse-home}"/>
            <arg line="-bundlepool ${eclipse-home}"/>
        </exec>
		<!--<antcall target="configureTeamTest" /> <antcall target="unzipderby" 
			/> -->
    </target>


    <target
        name="unzipderby"
        if="derby">
        <exec
            dir="."
            executable="unzip">
            <arg line="-o eclipse-junit-tests-*.zip ${derby} -d ${eclipse-home}"/>
        </exec>
        <copy todir="${eclipse-home}/dropins/eclipse/plugins">
            <fileset
                dir="${repoLocation}/eclipse/dropins/eclipse/plugins"
                includes="org.apache.derby**/*"/>
        </copy>
    </target>

    <target
        name="init"
        depends="setRuntimeArchive">
        <mkdir dir="${results}/xml"/>
        <mkdir dir="${results}/html"/>
        <mkdir dir="${junit-report-output}"/>

		<!--Unlock files on the Mac before starting tests. Required to delete some 
			workspace directories (org.eclipse.core.filebuffers.tests and Team CVS tests). -->
        <exec
            dir="${basedir}"
            executable="chflags"
            os="Mac OS X">
            <arg line="-R nouchg ${eclipse-home}"/>
        </exec>
    </target>

    <target name="setRuntimeArchive">
        <condition
            property="runtimeArchive"
            value="eclipse-SDK-${buildId}-win32.zip">
            <and>
                <equals
                    arg1="${os}"
                    arg2="win32"/>
                <equals
                    arg1="${ws}"
                    arg2="win32"/>
                <equals
                    arg1="${arch}"
                    arg2="x86"/>
            </and>
        </condition>
        <condition
            property="runtimeArchive"
            value="eclipse-SDK-${buildId}-win32-x86_64.zip">
            <and>
                <equals
                    arg1="${os}"
                    arg2="win32"/>
                <equals
                    arg1="${ws}"
                    arg2="win32"/>
                <equals
                    arg1="${arch}"
                    arg2="x86_64"/>
            </and>
        </condition>
        <condition
            property="runtimeArchive"
            value="eclipse-SDK-${buildId}-linux-gtk.tar.gz">
            <and>
                <equals
                    arg1="${os}"
                    arg2="linux"/>
                <equals
                    arg1="${ws}"
                    arg2="gtk"/>
                <equals
                    arg1="${arch}"
                    arg2="x86"/>
            </and>
        </condition>
        <condition
            property="runtimeArchive"
            value="eclipse-SDK-${buildId}-linux-motif.tar.gz">
            <and>
                <equals
                    arg1="${os}"
                    arg2="linux"/>
                <equals
                    arg1="${ws}"
                    arg2="motif"/>
                <equals
                    arg1="${arch}"
                    arg2="x86"/>
            </and>
        </condition>
        <condition
            property="runtimeArchive"
            value="eclipse-SDK-${buildId}-linux-gtk-ppc.tar.gz">
            <and>
                <equals
                    arg1="${os}"
                    arg2="linux"/>
                <equals
                    arg1="${ws}"
                    arg2="gtk"/>
                <equals
                    arg1="${arch}"
                    arg2="ppc"/>
            </and>
        </condition>
        <condition
            property="runtimeArchive"
            value="eclipse-SDK-${buildId}-linux-gtk-ppc64.tar.gz">
            <and>
                <equals
                    arg1="${os}"
                    arg2="linux"/>
                <equals
                    arg1="${ws}"
                    arg2="gtk"/>
                <equals
                    arg1="${arch}"
                    arg2="ppc64"/>
            </and>
        </condition>
        <condition
            property="runtimeArchive"
            value="eclipse-SDK-${buildId}-linux-gtk-x86_64.tar.gz">
            <and>
                <equals
                    arg1="${os}"
                    arg2="linux"/>
                <equals
                    arg1="${ws}"
                    arg2="gtk"/>
                <equals
                    arg1="${arch}"
                    arg2="x86_64"/>
            </and>
        </condition>
        <condition
            property="runtimeArchive"
            value="eclipse-SDK-${buildId}-macosx-carbon.tar.gz">
            <and>
                <equals
                    arg1="${os}"
                    arg2="macosx"/>
                <equals
                    arg1="${ws}"
                    arg2="carbon"/>
                <equals
                    arg1="${arch}"
                    arg2="ppc"/>
            </and>
        </condition>
        <condition
            property="runtimeArchive"
            value="eclipse-SDK-${buildId}-macosx-carbon.tar.gz">
            <and>
                <equals
                    arg1="${os}"
                    arg2="macosx"/>
                <equals
                    arg1="${ws}"
                    arg2="carbon"/>
                <equals
                    arg1="${arch}"
                    arg2="x86"/>
            </and>
        </condition>
        <condition
            property="runtimeArchive"
            value="eclipse-SDK-${buildId}-macosx-cocoa-ppc.tar.gz">
            <and>
                <equals
                    arg1="${os}"
                    arg2="macosx"/>
                <equals
                    arg1="${ws}"
                    arg2="cocoa"/>
                <equals
                    arg1="${arch}"
                    arg2="ppc"/>
            </and>
        </condition>
        <condition
            property="runtimeArchive"
            value="eclipse-SDK-${buildId}-macosx-cocoa.tar.gz">
            <and>
                <equals
                    arg1="${os}"
                    arg2="macosx"/>
                <equals
                    arg1="${ws}"
                    arg2="cocoa"/>
                <equals
                    arg1="${arch}"
                    arg2="x86"/>
            </and>
        </condition>
        <condition
            property="runtimeArchive"
            value="eclipse-SDK-${buildId}-macosx-cocoa-x86_64.tar.gz">
            <and>
                <equals
                    arg1="${os}"
                    arg2="macosx"/>
                <equals
                    arg1="${ws}"
                    arg2="cocoa"/>
                <equals
                    arg1="${arch}"
                    arg2="x86_64"/>
            </and>
        </condition>
        <condition
            property="runtimeArchive"
            value="eclipse-SDK-${buildId}-hpux-motif.zip">
            <and>
                <equals
                    arg1="${os}"
                    arg2="hpux"/>
                <equals
                    arg1="${ws}"
                    arg2="motif"/>
                <equals
                    arg1="${arch}"
                    arg2="ia64_32"/>
            </and>
        </condition>
        <condition
            property="runtimeArchive"
            value="eclipse-SDK-${buildId}-solaris-motif.zip">
            <and>
                <equals
                    arg1="${os}"
                    arg2="solaris"/>
                <equals
                    arg1="${ws}"
                    arg2="motif"/>
                <equals
                    arg1="${arch}"
                    arg2="sparc"/>
            </and>
        </condition>
        <condition
            property="runtimeArchive"
            value="eclipse-SDK-${buildId}-solaris-gtk.zip">
            <and>
                <equals
                    arg1="${os}"
                    arg2="solaris"/>
                <equals
                    arg1="${ws}"
                    arg2="gtk"/>
                <equals
                    arg1="${arch}"
                    arg2="sparc"/>
            </and>
        </condition>
        <condition
            property="runtimeArchive"
            value="eclipse-SDK-${buildId}-solaris-gtk-x86.zip">
            <and>
                <equals
                    arg1="${os}"
                    arg2="solaris"/>
                <equals
                    arg1="${ws}"
                    arg2="gtk"/>
                <equals
                    arg1="${arch}"
                    arg2="x86"/>
            </and>
        </condition>
        <condition
            property="runtimeArchive"
            value="eclipse-SDK-${buildId}-aix-motif.zip">
            <and>
                <equals
                    arg1="${os}"
                    arg2="aix"/>
                <equals
                    arg1="${ws}"
                    arg2="motif"/>
                <equals
                    arg1="${arch}"
                    arg2="ppc"/>
            </and>
        </condition>
        <condition
            property="runtimeArchive"
            value="eclipse-SDK-${buildId}-aix-gtk-ppc64.zip">
            <and>
                <equals
                    arg1="${os}"
                    arg2="aix"/>
                <equals
                    arg1="${ws}"
                    arg2="gtk"/>
                <equals
                    arg1="${arch}"
                    arg2="ppc64"/>
            </and>
        </condition>
    </target>

    <target
        name="setJVMProperties"
        depends="setJVMfromUserSpecified">
		<!--enable tests requiring 1.5 or 1.6 vms to run if running vm level detected 
			matches required execution environment -->
        <condition
            property="J2SE-5.0"
            value="${java.home}/bin/java">
            <or>
                <equals
                    arg1="${ant.java.version}"
                    arg2="1.5"/>
                <equals
                    arg1="${ant.java.version}"
                    arg2="1.6"/>
            </or>
        </condition>
        <condition
            property="J2SE-6.0"
            value="${java.home}/bin/java">
            <equals
                arg1="${ant.java.version}"
                arg2="1.6"/>
        </condition>

    </target>
    <target
        name="setJVMfromUserSpecified"
        if="jvm">
        <exec
            executable="${jvm}"
            outputproperty="javaversion">
            <arg line="-version"/>
        </exec>
        <echo message="java version of ${jvm} is ${javaversion}"/>
        <condition
            property="J2SE-6.0"
            value="${jvm}">
            <contains
                string="${javaversion}"
                substring="java version &quot;1.6"/>
        </condition>
        <condition
            property="J2SE-5.0"
            value="${jvm}">
            <or>
                <contains
                    string="${javaversion}"
                    substring="java version &quot;1.6"/>
                <contains
                    string="${javaversion}"
                    substring="java version &quot;1.5"/>
            </or>
        </condition>
        <echo message="J2SE-6.0:  ${J2SE-6.0}"/>
        <echo message="J2SE-5.0:  ${J2SE-5.0}"/>
    </target>


    <target
        name="configureTeamTest"
        if="teamcvs">
		<!-- Fill in cvs repository information to be able to run CVS perf tests -->
        <replace
            file="${eclipse-home}/plugins/${org.eclipse.team.tests.cvs.core}/repository.properties"
            token="@user@"
            value="${cvs_user}"/>
        <replace
            file="${eclipse-home}/plugins/${org.eclipse.team.tests.cvs.core}/repository.properties"
            token="@password@"
            value="${cvs_password}"/>
        <replace
            file="${eclipse-home}/plugins/${org.eclipse.team.tests.cvs.core}/repository.properties"
            token="@host@"
            value="${cvs_host}"/>
        <replace
            file="${eclipse-home}/plugins/${org.eclipse.team.tests.cvs.core}/repository.properties"
            token="@root@"
            value="${cvs_root}"/>
    </target>

    <target
        name="configureDeltaPack"
        if="pdebuild">
        <property
            name="deltapackArchive"
            value="eclipse-${buildId}-delta-pack.zip"/>
        <property
            name="installDeltapack"
            value="${eclipse-home}/deltapack"/>
        <mkdir dir="${installDeltapack}"/>
        <exec
            dir="."
            executable="unzip">
            <arg line="-o -qq ${deltapackArchive} -d ${installDeltapack}"/>
        </exec>
    </target>


    <macrodef name="runTests">
        <attribute name="testPlugin"/>
        <sequential>

			<!--alwasy use eclipse executable to launch tests with the exception of 
				performance tests -->
			<!--condition property="useEclipseExe" value="true"> <not> <equals arg1="${test.target}" 
				arg2="performance"/> </not> </condition -->

            <condition
                property="performance.target.present"
                value="true">
                <isset property="@{testPlugin}.has.performance.target"/>
            </condition>


			<!--override the value of this property with performance if the tests 
				run on performance machine -->
            <property
                name="test.target"
                value="performance"/>
            <property
                name="report"
                value="@{testPlugin}"/>
			<!--install db plug-ins if running performance tests -->
			<!--<condition property="derby" value="eclipse/dropins/eclipse/plugins/org.apache.derby*/**"> 
				<equals arg1="${test.target}" arg2="performance" /> </condition> -->
			<!-- <property name="derby" value="" /> -->
			<!-- <param name="testPlugin" value="${@{testPlugin}}" /> -->
            <antcall target="${test.target}">
                <param
                    name="testPlugin"
                    value="@{testPlugin}"/>
                <param
                    name="output-file"
                    value="@{testPlugin}.xml"/>
            </antcall>
        </sequential>
    </macrodef>

    <target
        name="junit"
        unless="skip.test">
        <antcall target="setup">
        </antcall>
        <property
            name="org.eclipse.test"
            value="org.eclipse.test_3.3.0"/>
        <property
            name="library-file"
            value="${basedir}/eclipse/eclipse/plugins/${org.eclipse.test}/library.xml"/>

        <echo>trying to find ${testPlugin}_*</echo>
        <fileset
            id="test.plugin.file"
            dir="${eclipse-home}/plugins">
            <filename name="${testPlugin}_*/test.xml"/>
        </fileset>
        <property
            name="testPluginX"
            refid="test.plugin.file"/>
        <echo>trying to find ${testPluginX}</echo>
        <condition
            property="pluginexists"
            value="true">
            <not>
                <equals
                    arg1="${testPluginX}"
                    arg2=""/>
            </not>
        </condition>
        <antcall target="runSuite"/>
        <antcall target="genResults"/>
    </target>

    <target
        name="runSuite"
        if="pluginexists">
        <ant
            antfile="${eclipse-home}/plugins/${testPluginX}"
            dir="${eclipse-home}"/>
    </target>


    <target
        name="runSuitePerf"
        if="pluginexists">
        <echo message="testPluginX ${testPluginX}"/>
        <ant
            antfile="${eclipse-home}/plugins/${testPluginX}"
            dir="${eclipse-home}"
            target="performance"/>
    </target>

    <target
        name="performance"
        if="performance.target.present"
        unless="skip.test">
        <antcall target="setup"/>
        <antcall target="installTestPlugins"/>
        <property
            name="org.eclipse.test"
            value="org.eclipse.test_3.3.0"/>
        <property
            name="library-file"
            value="${basedir}/eclipse/dropins/eclipseTestFramework/eclipse/plugins/${org.eclipse.test}/library.xml"/>

        <echo>trying to find ${testPlugin}_*</echo>
        <fileset
            id="test.plugin.file"
            dir="${eclipse-home}/plugins">
            <filename name="${testPlugin}_*/test.xml"/>
        </fileset>
        <property
            name="testPluginX"
            refid="test.plugin.file"/>
        <echo>trying to find ${testPluginX}</echo>
        <condition
            property="pluginexists"
            value="true">
            <not>
                <equals
                    arg1="${testPluginX}"
                    arg2=""/>
            </not>
        </condition>
        <antcall target="runSuitePerf"/>
        <antcall target="genResults"/>
    </target>

    <target name="genResults">
        <copy
            file="${eclipse-home}/${report}.xml"
            tofile="${results}/xml/${report}_${platform}.xml"
            failonerror="false"/>
        <xslt
            style="${eclipse-home}/dropins/eclipseTestFramework/eclipse/plugins/${org.eclipse.test}/JUNIT.XSL"
            basedir="${results}/xml"
            destdir="${results}/html"/>
    </target>

    <target name="ant">
        <runTests testPlugin="org.eclipse.ant.tests.core"/>
    </target>

    <target name="antui">
        <runTests testPlugin="org.eclipse.ant.tests.ui"/>
    </target>

    <target name="compare">
        <runTests testPlugin="org.eclipse.compare.tests"/>
    </target>

    <target name="debug">
        <runTests testPlugin="org.eclipse.debug.tests"/>
    </target>

    <target name="coreresources">
        <runTests testPlugin="org.eclipse.core.tests.resources"/>
    </target>

    <target name="coreruntime">
        <runTests testPlugin="org.eclipse.core.tests.runtime"/>
    </target>

    <target name="osgi">
        <runTests testPlugin="org.eclipse.osgi.tests"/>
    </target>

    <target name="coreexpressions">
        <runTests testPlugin="org.eclipse.core.expressions.tests"/>
    </target>

    <target name="ltkuirefactoringtests">
        <runTests testPlugin="org.eclipse.ltk.ui.refactoring.tests"/>
    </target>

    <target name="ltkcorerefactoringtests">
        <runTests testPlugin="org.eclipse.ltk.core.refactoring.tests"/>
    </target>

    <target name="text">
        <runTests testPlugin="org.eclipse.text.tests"/>
    </target>

    <target name="jface">
        <runTests testPlugin="org.eclipse.jface.text.tests"/>
    </target>

    <target name="jfacedatabinding">
        <runTests testPlugin="org.eclipse.jface.tests.databinding"/>
    </target>

    <target name="filebuffers">
        <runTests testPlugin="org.eclipse.core.filebuffers.tests"/>
    </target>

    <target
        name="jdttext"
        unless="skip.jdttext">
        <runTests testPlugin="org.eclipse.jdt.text.tests"/>
    </target>

    <target
        name="relEng"
        depends="setRuntimeArchive">
        <runTests testPlugin="org.eclipse.releng.tests"/>
        <move
            todir="${results}/chkpii"
            includeEmptyDirs="no"
            failonerror="false">
            <fileset dir="${results}/chkpii"/>
            <mapper
                type="glob"
                from="*"
                to="${platform}_*"/>
        </move>
    </target>

    <target name="ua">
        <runTests testPlugin="org.eclipse.ua.tests"/>
    </target>

    <target name="uadoc">
        <runTests testPlugin="org.eclipse.ua.tests.doc"/>
    </target>

    <target name="coretestsnet">
        <runTests testPlugin="org.eclipse.core.tests.net"/>
    </target>

    <target
        name="jdtcorecompiler"
        depends="setJVMProperties">
        <condition
            property="jvm"
            value="${J2SE-5.0}">
            <isset property="J2SE-5.0"/>
        </condition>
        <runTests testPlugin="org.eclipse.jdt.core.tests.compiler"/>
    </target>

    <target
        name="jdtapt"
        depends="setJVMProperties">
        <property
            name="jvm"
            value="${J2SE-5.0}"/>
		<!--only run test if J2SE-5.0 property set -->
        <condition property="skip.test">
            <not>
                <isset property="J2SE-5.0"/>
            </not>
        </condition>
        <runTests testPlugin="org.eclipse.jdt.apt.tests"/>
    </target>

    <target
        name="jdtaptpluggable"
        depends="setJVMProperties">
        <property
            name="jvm"
            value="${J2SE-6.0}"/>
		<!--only run test if J2SE-5.0 property set -->
        <condition property="skip.test">
            <not>
                <isset property="J2SE-6.0"/>
            </not>
        </condition>
        <runTests testPlugin="org.eclipse.jdt.apt.pluggable.tests"/>
    </target>


    <target
        name="jdtcorebuilder"
        depends="setJVMProperties">
		<!--Run with 1.5 vm if it is available -->
        <condition
            property="jvm"
            value="${J2SE-5.0}">
            <isset property="J2SE-5.0"/>
        </condition>
        <runTests testPlugin="org.eclipse.jdt.core.tests.builder"/>
    </target>

    <target
        name="jdtcompilertool"
        depends="setJVMProperties">
        <property
            name="jvm"
            value="${J2SE-6.0}"/>
		<!--only run test if J2SE-6.0 property set -->
        <condition property="skip.test">
            <not>
                <isset property="J2SE-6.0"/>
            </not>
        </condition>
        <runTests testPlugin="org.eclipse.jdt.compiler.tool.tests"/>
    </target>

    <target
        name="jdtcompilerapt"
        depends="setJVMProperties">
        <property
            name="jvm"
            value="${J2SE-6.0}"/>
		<!--only run test if J2SE-6.0 property set -->
        <condition property="skip.test">
            <not>
                <isset property="J2SE-6.0"/>
            </not>
        </condition>
        <runTests testPlugin="org.eclipse.jdt.compiler.apt.tests"/>
    </target>

    <target
        name="jdtcoremodel"
        depends="setJVMProperties">
        <condition
            property="jvm"
            value="${J2SE-5.0}">
            <isset property="J2SE-5.0"/>
        </condition>
        <runTests testPlugin="org.eclipse.jdt.core.tests.model"/>
    </target>

    <target name="jdtcoreperf">
        <runTests testPlugin="org.eclipse.jdt.core.tests.performance"/>
    </target>

    <target name="jdtdebug">
        <runTests testPlugin="org.eclipse.jdt.debug.tests"/>
    </target>

    <target name="jdtui">
        <runTests testPlugin="org.eclipse.jdt.ui.tests"/>
    </target>

    <target name="jdtuirefactoring">
        <runTests testPlugin="org.eclipse.jdt.ui.tests.refactoring"/>
    </target>

    <target name="pdeui">
        <runTests testPlugin="org.eclipse.pde.ui.tests"/>
    </target>

    <target name="pdebuild">
        <property
            name="pdebuild"
            value="true"/>
        <runTests testPlugin="org.eclipse.pde.build.tests"/>
    </target>

    <target name="swt">
        <runTests testPlugin="org.eclipse.swt.tests"/>
    </target>

    <target name="teamcore">
        <runTests testPlugin="org.eclipse.team.tests.core"/>
    </target>

    <target name="teamcvs">
        <property
            name="teamcvs"
            value="true"/>
        <runTests testPlugin="org.eclipse.team.tests.cvs.core"/>
    </target>

    <target name="ui">
        <runTests testPlugin="org.eclipse.ui.tests"/>
    </target>

    <target name="uinavigator">
        <runTests testPlugin="org.eclipse.ui.tests.navigator"/>
    </target>

    <target name="uircp">
        <runTests testPlugin="org.eclipse.ui.tests.rcp"/>
    </target>

    <target name="uiforms">
        <runTests testPlugin="org.eclipse.ui.tests.forms"/>
    </target>

    <target name="uieditors">
        <runTests testPlugin="org.eclipse.ui.editors.tests"/>
    </target>

    <target name="uiperformance">
        <runTests testPlugin="org.eclipse.ui.tests.performance"/>
    </target>

    <target name="uiviews">
        <runTests testPlugin="org.eclipse.ui.tests.views.properties.tabbed"/>
    </target>

    <target name="uiworkbenchtexteditor">
        <runTests testPlugin="org.eclipse.ui.workbench.texteditor.tests"/>
    </target>

    <target name="update">
        <runTests testPlugin="org.eclipse.update.tests.core"/>
    </target>

    <target
        name="pdeapitooling"
        depends="setJVMProperties">
        <property
            name="jvm"
            value="${J2SE-5.0}"/>
		<!--only run test if J2SE-5.0 property set -->
        <condition property="skip.test">
            <not>
                <isset property="J2SE-5.0"/>
            </not>
        </condition>
        <runTests testPlugin="org.eclipse.pde.api.tools.tests"/>
    </target>

    <target name="equinoxsecurity">
        <runTests testPlugin="org.eclipse.equinox.security.tests"/>
    </target>

    <target
        name="equinoxp2"
        depends="setJVMProperties">
        <property
            name="jvm"
            value="${J2SE-5.0}"/>
		<!--only run test if J2SE-5.0 property set -->
        <condition property="skip.test">
            <not>
                <isset property="J2SE-5.0"/>
            </not>
        </condition>
        <runTests testPlugin="org.eclipse.equinox.p2.tests"/>
    </target>

    <target
        name="equinoxp2ui"
        depends="setJVMProperties">
        <property
            name="jvm"
            value="${J2SE-5.0}"/>
		<!--only run test if J2SE-5.0 property set -->
        <condition property="skip.test">
            <not>
                <isset property="J2SE-5.0"/>
            </not>
        </condition>
        <runTests testPlugin="org.eclipse.equinox.p2.tests.ui"/>
    </target>

    <target
        name="equinoxp2discovery"
        depends="setJVMProperties">
        <property
            name="jvm"
            value="${J2SE-5.0}"/>
		<!--only run test if J2SE-5.0 property set -->
        <condition property="skip.test">
            <not>
                <isset property="J2SE-5.0"/>
            </not>
        </condition>
        <runTests testPlugin="org.eclipse.equinox.p2.tests.discovery"/>
    </target>

    <target name="search">
        <runTests testPlugin="org.eclipse.search.tests"/>
    </target>

    <target name="pdeds">
        <runTests testPlugin="org.eclipse.pde.ds.tests"/>
    </target>

    <target name="all">
        <antcall target="jdtcompilertool"/>
        <antcall target="jdtcompilerapt"/>
        <antcall target="jdttext"/>
        <antcall target="relEng"/>
        <antcall target="pdeui"/>
        <antcall target="ant"/>
        <antcall target="compare"/>
        <antcall target="coreruntime"/>
        <antcall target="coreresources"/>
        <antcall target="osgi"/>
        <antcall target="coreexpressions"/>
        <antcall target="update"/>
        <antcall target="teamcore"/>
        <antcall target="jdtcoreperf"/>
        <antcall target="jdtcorebuilder"/>
        <antcall target="jdtcorecompiler"/>
        <antcall target="uiperformance"/>
        <antcall target="uieditors"/>
        <antcall target="uinavigator"/>
        <antcall target="uiworkbenchtexteditor"/>
        <antcall target="uircp"/>
        <antcall target="uiviews"/>
        <antcall target="jdtdebug"/>
        <antcall target="jdtui"/>
        <antcall target="jdtuirefactoring"/>
        <antcall target="ltkuirefactoringtests"/>
        <antcall target="ltkcorerefactoringtests"/>
        <antcall target="text"/>
        <antcall target="jface"/>
        <antcall target="jfacedatabinding"/>
        <antcall target="filebuffers"/>
        <antcall target="antui"/>
        <antcall target="swt"/>
        <antcall target="teamcvs"/>
        <antcall target="coretestsnet"/>
        <antcall target="jdtapt"/>
        <antcall target="pdebuild"/>
        <antcall target="jdtaptpluggable"/>
        <antcall target="ua"/>
        <antcall target="uiforms"/>
        <antcall target="pdeapitooling"/>
        <antcall target="equinoxsecurity"/>
        <antcall target="equinoxp2"/>
        <antcall target="equinoxp2ui"/>
        <antcall target="equinoxp2discovery"/>
        <antcall target="search"/>
        <antcall target="pdeds"/>
        <antcall target="jdtcoremodel"/>
        <antcall target="uadoc"/>
        <antcall target="debug"/>
        <antcall target="ui"/>

    </target>
</project>

