blob: 8cc0a8d9eb263413141ad3953e649313e7c7bd79 [file] [log] [blame]
<project
name="standaloneTest"
default="standaloneTest"
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="env.DEP_DIR"
value="/helios"/>
<property
name="distribution"
value="wtp"/>
<property
name="buildDirectory"
value="${env.PROJECT_PROJECTS}/${projectName}/workdir"/>
<!--
<property
name="dependency.properties"
value="${buildDirectory}/maps/${env.RELENG}${env.DEP_DIR}/maps/dependencies.properties"/>
-->
<property
name="dependency.properties"
value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}${env.DEP_DIR}/maps/dependencies.properties"/>
<available
file="${dependency.properties}"
property="dependency.properties.exists"/>
<fail
message="dependency file not found: ${dependency.properties}"
unless="dependency.properties.exists"/>
<target
name="standaloneTest">
<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
dir="${testRoot}"
failonerror="false"/>
-->
<mkdir
dir="${testRoot}"/>
<!-- no longer needed here, ... done in standalonecheckout
<antcall
target="getReleng"/>
-->
<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}"
quiet="${env.CVS_QUIET}"
reallyquiet="${env.CVS_REALLY_QUIET}"/>
</target>
<target
name="getDependencies"
unless="installed">
<ant
antfile="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG_BUILDER}/distribution/${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}/${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"/>
<copy
todir="${testRoot}"
flatten="true"
overwrite="true">
<fileset
dir="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG_BUILDER}/distribution/${distribution}.tests/testScripts"/>
</copy>
<ant
antfile="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG_BUILDER}/distribution/${distribution}.tests/build.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/${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
dir="${testRoot}"
failonerror="false"/>
</target>
</project>