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

<project
    name="testsuite"
    default="run"
    basedir=".">
    
    <!-- The following properties should be passed into this script -->
    <!-- ${eclipse-home}   -->
    <!-- ${buildDirectory}  -->
    <!-- ${buildLabel}        -->

    <!-- should be little need to change what's above  -->
    
    <property
        name="plugin-name"
        value="org.eclipse.wst.xml.validation.tests" />
    <property
        name="classname"
        value="org.eclipse.wst.xml.validation.tests.internal.AllXMLTests" />
    <property
        name="testType"
        value="core-test" />

    <!-- should be little need to change what's below -->

    <echo message="basedir: ${basedir}" />
    <echo message="eclipse-home: ${eclipse-home}" />
    <echo message="buildDirectory: ${buildDirectory}" />
    <echo message="plugin-name: ${plugin-name}" />
    <echo message="classname: ${classname}" />
    <echo message="testType ${testType}" />


    <property
        name="library-file"
        value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml" />
    <property
        name="workspace"
        value="${eclipse-home}/junitworkspaces/${plugin-name}" />
        
    <!-- 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="${plugin-name}.*xml" />
        </delete>
        <!-- make directory, in case path doesn't exist yet -->
        <mkdir dir="${workspace}" />
        <!--  but delete to make sure fresh contents-->
        <delete
            dir="${workspace}"
            quiet="true" />

    </target>

    <!-- This target defines the tests that need to be run. -->
    <target name="suite">

        <ant
            target="${testType}"
            antfile="${library-file}"
            dir="${eclipse-home}">
            <property
                name="data-dir"
                value="${workspace}" />
            <property
                name="plugin-name"
                value="${plugin-name}" />
            <property
                name="classname"
                value="${classname}" />
            <property
                name="plugin-path"
                value="${eclipse-home}/plugins/${plugin-name}" />
        </ant>

        <copy
            failonerror="false"
            file="${workspace}/.metadata/.log"
            tofile="${buildDirectory}/${buildLabel}/testResults/consolelogs/${plugin-name}.consolelog.txt" />

    </target>

    <!-- 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">
        <!-- usually no need to delete workspace until next run, and leaving it allows inspection -->
        <!-- <delete dir="${workspace}" 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="${plugin-name}.*xml" />
            <property
                name="output-file"
                value="${plugin-name}.xml" />
        </ant>
    </target>

</project>