Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
standalonePerfTest.xml 7.02 KiB
<project
    name="standalonePerfTest"
    default="standalonePerfTest"
    basedir=".">
	<!-- Required inputs: build.home buildType buildId timestamp build.stream 
		[optional] build.committers [optional] testTarget [optional] -->
    <property environment="env"/>

	<!-- Let users override standard properties, if desired. If directory, file, 
		or some properties do not exist, then standard properties will be used. -->
    <echo message="LOCAL_BUILD_PROPERTIES_DIR: ${env.LOCAL_BUILD_PROPERTIES_DIR}"/>


    <property file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties"/>
    <fail
        unless="projectname"
        message="a projectname is required"/>

    <property
        name="keyCfgFile"
        value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg"/>
    <property
        name="build.home"
        value="${env.BUILD_HOME}"/>
    <echo
        level="info"
        message="keyCfgFile: ${keyCfgFile}"/>
	<!-- required to get proper value of dropinsFolder -->
    <property file="${keyCfgFile}"/>
    <fail
        message="testRoot must be set for this task"
        unless="env.PROJECT_TESTS"/>
    <property
        name="testRoot"
        value="${env.PROJECT_TESTS}/${projectname}"/>

    <property
        name="build.distribution"
        value="wtp"/>

    <property
        name="buildDirectory"
        value="${env.PROJECT_PROJECTS}/${projectName}/workdir"/>

	<!-- <property name="dependency.properties" value="${buildDirectory}/maps/${env.RELENG}/${dependencyFileLocation}"/> -->
    <property
        name="dependency.properties"
        value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/${dependencyFileLocation}"/>
    <available
        file="${dependency.properties}"
        property="dependency.properties.exists"/>
    <fail
        message="dependency file not found: ${dependency.properties}"
        unless="dependency.properties.exists"/>
    <target name="standalonePerfTest">
        <property file="${build.home}/${env.RELENG_BUILDER}/build.properties"/>
        <property
            name="local.cache.dir"
            value="${env.LOCAL_PREREQS_CACHE}"/>
        <property
            name="testRoot"
            value="${build.home}/testRoot/"/>
		<!-- don't delete automatically <delete quiet="true" dir="${testRoot}" 
			failonerror="false"/> -->
        <mkdir dir="${testRoot}"/>


        <condition property="installed">
            <available
                file="${testRoot}/eclipse"
                type="dir"/>
        </condition>

        <echo message="installed: ${installed}"/>
        <echo message="installed location: ${testRoot}/eclipse"/>

        <antcall target="run"/>
    </target>
    <target name="getReleng">
        <property
            name="releng.tag"
            value="v${buildType}${timestamp}"/>
        <mkdir dir="${env.PROJECT_BUILDERS}/${projectname}"/>
        <cvs
            cvsRoot=":pserver:anonymous@dev.eclipse.org:/cvsroot/webtools"
            package="${env.RELENG}"
            dest="${env.PROJECT_BUILDERS}/${projectname}"
            command="export"
            tag="${releng.tag}"
            reallyquiet="${env.CVS_REALLY_QUIET}"/>
    </target>
    <target
        name="getDependencies"
        unless="installed">
        <ant
            antfile="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG_BUILDER}/distribution/${build.distribution}.tests/testdependency.xml">
            <property
                name="base.install.dir"
                value="${testRoot}"/>
            <property
                name="dependencyTargets"
                value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG_BUILDER}/scripts/dependency/build.xml"/>
        </ant>

        <antcall target="getAndInstallWTP">
            <param
                name="file"
                value="wtp-sdk-${buildType}-${buildId}-${timestamp}.zip"/>
        </antcall>
        <antcall target="getAndInstallWTP">
            <param
                name="file"
                value="wtp-tests-${buildType}-${buildId}-${timestamp}.zip"/>
        </antcall>

    </target>
    <target name="getAndInstallWTP">
        <available
            file="${local.cache.dir}/${file}"
            property="file.exists"/>
        <antcall target="getWTP"/>
        <available
            file="${local.cache.dir}/${file}"
            property="file.exists"/>
        <antcall target="installWTP"/>
    </target>
    <target name="getWTP">
        <condition
            property="file.url.1"
            value="http://build.eclipse.org/webtools/committers/${projectname}/${timestamp}"
            else="http://download.eclipse.org/webtools/downloads">
            <isset property="build.committers"/>
        </condition>
        <condition
            property="file.url"
            value="${file.url.1}/drops/${build.stream}/${buildType}-${buildId}-${timestamp}"
            else="${file.url.1}/drops/${buildType}-${buildId}-${timestamp}">
            <isset property="build.stream"/>
        </condition>
        <antcall target="getWTP2"/>
    </target>
    <target
        name="getWTP2"
        unless="file.exists">
        <property
            name="file.url"
            value="http://download.eclipse.org/webtools/downloads/drops/${build.stream}/${buildType}-${buildId}-${timestamp}"/>
        <get
            dest="${local.cache.dir}/${file}"
            src="${file.url}/${file}"
            ignoreerrors="true"/>
    </target>
    <target
        name="installWTP"
        if="file.exists">
        <unzip
            src="${local.cache.dir}/${file}"
            dest="${testRoot}${dropinsFolder}"
            overwrite="true"/>
    </target>
    <target
        name="run"
        depends="getDependencies">
        <mkdir dir="${testRoot}/results/consolelogs"/>
        <mkdir dir="${testRoot}/results/xml"/>
        <copy
            todir="${testRoot}"
            flatten="true"
            overwrite="true">
            <fileset
                dir="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG_BUILDER}/distribution/${build.distribution}.tests/testScripts"/>
        </copy>
        <ant
            antfile="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG_BUILDER}/distribution/${build.distribution}.tests/perfbuild.xml"
            target="runTestEclipse">
            <property
                name="testRoot"
                value="${testRoot}"/>
			<!-- if not otherwise set, assume all tests -->
            <property
                name="testTarget"
                value="all"/>
        </ant>
        <copy
            file="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG_BUILDER}/distribution/${build.distribution}.tests/templateFiles/index.php"
            todir="${testRoot}/results"
            overwrite="true"/>
    </target>
    <target
        name="clean"
        if="clean">
        <property file="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG_BUILDER}/build.properties"/>
        <property
            name="testRoot"
            value="${build.home}/testRoot"/>
        <delete
            quiet="true"
            dir="${testRoot}"
            failonerror="false"/>
    </target>
</project>