blob: 8edfb763fd13c1d97866892b2f1ad387a4f97322 [file] [log] [blame]
<project default="main" basedir=".">
<!--
Required inputs:
build.home
buildType
buildId
date
time
baseos
basews
basearch
buildType.tests [optional]
buildId.tests [optional]
date.tests [optional]
time.tests [optional]
build.stream [optional]
build.committers [optional]
releng.tag [optional]
perf.target [optional]
-->
<target name="main">
<property name="perf.buildId" value="${buildType}${date}-${time}"/>
<property name="timestamp" value="${date}${time}"/>
<property name="buildType.tests" value="${buildType}"/>
<property name="buildId.tests" value="${buildId}"/>
<property name="date.tests" value="${date}"/>
<property name="time.tests" value="${time}"/>
<property name="timestamp.tests" value="${date.tests}${time.tests}"/>
<property file="${build.home}/releng.wtpbuilder/build.properties"/>
<property name="local.cache.dir" value="${build.home}/${build.local.repository}"/>
<property name="workDir" value="${build.home}/workDir"/>
<property name="perfRoot" value="${build.home}/perfRoot"/>
<delete dir="${workDir}" failonerror="false"/>
<delete dir="${perfRoot}" failonerror="false"/>
<mkdir dir="${local.cache.dir}"/>
<mkdir dir="${workDir}"/>
<mkdir dir="${perfRoot}"/>
<antcall target="getReleng"/>
<property file="${perfRoot}/releng/maps/dependencies.properties"/>
<antcall target="getDependencies"/>
<condition property="wtp-sdk" value="wtp-sdk-${buildId}.zip" else="wtp-sdk-${buildType}-${buildId}-${timestamp}.zip">
<available file="${local.cache.dir}/wtp-sdk-${buildId}.zip"/>
</condition>
<condition property="wtp-wst-tests" value="wtp-wst-Automated-Tests-${buildId}.zip" else="wtp-wst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip">
<available file="${local.cache.dir}/wtp-wst-Automated-Tests-${buildId}.zip"/>
</condition>
<condition property="wtp-jst-tests" value="wtp-jst-Automated-Tests-${buildId}.zip" else="wtp-jst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip">
<available file="${local.cache.dir}/wtp-jst-Automated-Tests-${buildId}.zip"/>
</condition>
<antcall target="setup"/>
<antcall target="run"/>
</target>
<target name="getReleng">
<property name="releng.tag" value="v${buildType}${timestamp}"/>
<cvs
cvsRoot=":pserver:anonymous@dev.eclipse.org:/cvsroot/webtools"
package="releng"
dest="${perfRoot}"
command="export"
tag="${releng.tag}"
/>
</target>
<target name="getDependencies">
<property name="install.destination" value="${workDir}/"/>
<antcall target="getAndInstall">
<param name="groupId" value="eclipse" />
<param name="clean" value="true" />
</antcall>
</target>
<target name="setup">
<property file="${build.home}/releng.wtpbuilder/build.properties"/>
<property file="${perfRoot}/releng/maps/dependencies.properties"/>
<property name="install.destination" value="${perfRoot}"/>
<antcall target="getAndInstall">
<param name="groupId" value="eclipse" />
<param name="clean" value="true" />
</antcall>
<antcall target="getAndInstall">
<param name="groupId" value="eclipseTestFramework" />
<param name="clean" value="true" />
</antcall>
<antcall target="getAndInstall">
<param name="groupId" value="emf" />
<param name="clean" value="true" />
</antcall>
<antcall target="getAndInstall">
<param name="groupId" value="gef" />
<param name="clean" value="true" />
</antcall>
<antcall target="getAndInstall">
<param name="groupId" value="jem" />
<param name="clean" value="true" />
</antcall>
<antcall target="getAndInstall">
<param name="groupId" value="tomcat.5" />
</antcall>
<antcall target="getAndInstall">
<param name="groupId" value="tomcat.4" />
</antcall>
<antcall target="getAndInstall">
<param name="groupId" value="jonas.4" />
</antcall>
<antcall target="getAndInstall">
<param name="groupId" value="oagis.release" />
</antcall>
<antcall target="getAndInstall">
<param name="groupId" value="oagis.wsdl" />
</antcall>
<antcall target="getAndInstall">
<param name="groupId" value="derby" />
</antcall>
<antcall target="getAndInstallWTP">
<param name="file" value="wtp-sdk-${buildId}.zip" />
</antcall>
<antcall target="getAndInstallWTP">
<param name="file" value="wtp-sdk-${buildType}-${buildId}-${timestamp}.zip" />
</antcall>
<antcall target="getAndInstallWTP">
<param name="file" value="wtp-wst-Automated-Tests-${buildId.tests}.zip" />
</antcall>
<antcall target="getAndInstallWTP">
<param name="file" value="wtp-wst-Automated-Tests-${buildType.tests}-${buildId.tests}-${timestamp.tests}.zip" />
</antcall>
<antcall target="getAndInstallWTP">
<param name="file" value="wtp-jst-Automated-Tests-${buildId.tests}.zip" />
</antcall>
<antcall target="getAndInstallWTP">
<param name="file" value="wtp-jst-Automated-Tests-${buildType.tests}-${buildId.tests}-${timestamp.tests}.zip" />
</antcall>
<antcall target="setup.derby"/>
<copy file="${build.home}/releng.wtpbuilder/distribution/wtp.perf/performance-tests.xml" tofile="${perfRoot}/performance-tests.xml"></copy>
</target>
<target name="getAndInstall">
<property name="dependencyTargets" value="${build.home}/releng.wtpbuilder/scripts/dependency/build.xml"/>
<ant antfile="${dependencyTargets}" target="checkDependency">
<property name="groupId" value="${groupId}" />
</ant>
<ant antfile="${dependencyTargets}" target="installDependency">
<property name="groupId" value="${groupId}" />
</ant>
</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://download.eclipse.org/webtools/committers" 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="${install.destination}" overwrite="true"/>
</target>
<target name="setup.derby">
<property name="derby" value="${install.destination}/eclipse/plugins/org.apache.derby"/>
<mkdir dir="${derby}"/>
<copy todir="${derby}" overwrite="true">
<fileset dir="${perfRoot}/incubating-derby-10.0.2.1-bin/lib">
<include name="**/*.jar"/>
</fileset>
</copy>
<copy tofile="${derby}/plugin.xml" file="${build.home}/releng.wtpbuilder/distribution/wtp.perf/derby.plugin.xml.template" overwrite="true"/>
<replace dir="${perfRoot}/eclipse/plugins" value="&lt;import plugin=&quot;org.apache.derby&quot;/&gt;">
<include name="org.eclipse.test.performance_*/plugin.xml"/>
<replacetoken><![CDATA[<import plugin="org.apache.derby" optional="true"/>]]></replacetoken>
</replace>
</target>
<target name="run">
<property name="perf.target" value="main"/>
<mkdir dir="${perfRoot}/results/consolelogs"/>
<java classpath="${workDir}/eclipse/startup.jar" fork="true" classname="org.eclipse.core.launcher.Main" failonerror="true" timeout="28800000" output="${perfRoot}/results/consolelogs/wtpperflog.txt" dir="${workDir}">
<jvmarg value="-Dosgi.ws=${basews}" />
<jvmarg value="-Dosgi.os=${baseos}" />
<jvmarg value="-Dosgi.arch=${basearch}" />
<jvmarg value="-Dws=${basews}" />
<jvmarg value="-Dos=${baseos}" />
<jvmarg value="-Darch=${basearch}" />
<jvmarg value="-Dnoclean=true" />
<jvmarg value="-DbuildType=${buildType}" />
<jvmarg value="-DbuildId=${buildId}" />
<jvmarg value="-Dtimestamp=${timestamp}"/>
<jvmarg value="-DbuildType.tests=${buildType.tests}" />
<jvmarg value="-DbuildId.tests=${buildId.tests}" />
<jvmarg value="-Dtimestamp.tests=${timestamp.tests}"/>
<arg value="-propertyfile" />
<arg value="${build.home}/releng.wtpbuilder/distribution/wtp.perf/perf.properties" />
<arg value="-application" />
<arg value="org.eclipse.ant.core.antRunner" />
<arg value="-file" />
<arg value="${build.home}/releng.wtpbuilder/distribution/wtp.perf/perf.xml" />
<arg value="-logger" />
<arg value="org.apache.tools.ant.DefaultLogger" />
<arg value="${perf.target}" />
<sysproperty key="eclipse-home" value="${perfRoot}/eclipse"/>
<sysproperty key="perf.buildId" value="${perf.buildId}"/>
<sysproperty key="os" value="${baseos}"/>
<sysproperty key="ws" value="${basews}"/>
<sysproperty key="arch" value="${basearch}"/>
<sysproperty key="build.home" value="${build.home}" />
<sysproperty key="local.cache.dir" value="${local.cache.dir}"/>
<sysproperty key="perfRoot" value="${perfRoot}"/>
<sysproperty key="testDir" value="${perfRoot}" />
</java>
</target>
<target name="graph">
<property name="perf.buildId" value="${buildType}${date}-${time}"/>
<property name="perfRoot" value="${build.home}/perfRoot"/>
<cvs
cvsRoot=":pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse"
package="org.eclipse.releng.basebuilder"
dest="${perfRoot}"
command="export"
tag="M5_32"
/>
<property file="${build.home}/releng.wtpbuilder/distribution/wtp.perf/perf.properties"/>
<antcall target="setup.derby">
<param name="derby" value="${perfRoot}/org.eclipse.releng.basebuilder/plugins/org.apache.derby"/>
</antcall>
<mkdir dir="${perfRoot}/results/graph"/>
<java classpath="${perfRoot}/org.eclipse.releng.basebuilder/startup.jar" fork="true" classname="org.eclipse.core.launcher.Main" failonerror="true" timeout="3600000" dir="${perfRoot}">
<jvmarg value="-Dosgi.ws=${basews}" />
<jvmarg value="-Dosgi.os=${baseos}" />
<jvmarg value="-Dosgi.arch=${basearch}" />
<jvmarg value="-Dws=${basews}" />
<jvmarg value="-Dos=${baseos}" />
<jvmarg value="-Darch=${basearch}" />
<jvmarg value="-Declipse.perf.dbloc=${build.home}/${perf.dbloc}"/>
<arg value="-application" />
<arg value="org.eclipse.test.performance.ui.resultGenerator" />
<arg value="-baseline"/>
<arg value="${perf.ref.buildId}"/>
<arg value="-baseline.prefix"/>
<arg value="${perf.ref.config}"/>
<arg value="-current"/>
<arg value="${perf.buildId}"/>
<arg value="-current.prefix"/>
<arg value="${perf.config}"/>
<arg value="-jvm"/>
<arg value="${perf.jvm}"/>
<arg value="-config"/>
<arg value="${perf.config}"/>
<arg value="-output"/>
<arg value="${perfRoot}/results/graph"/>
</java>
<copy file="${build.home}/releng.wtpbuilder/distribution/wtp.perf/performance.php" tofile="${perfRoot}/results/graph/performance.php"/>
</target>
<target name="upload" if="login">
<mkdir dir="${build.home}/archives"/>
<zip destfile="${build.home}/archives/${buildType}-${buildId}-${date}${time}.zip" basedir="${build.home}/perfRoot/results"/>
<condition property="upload.path.1"
else="~/downloads/webtools/downloads"
value="~/downloads/webtools/committers">
<isset property="build.committers"/>
</condition>
<condition property="upload.path"
else="${upload.path.1}/drops/${buildType}-${buildId}-${date}${time}/perfresults"
value="${upload.path.1}/drops/${build.stream}/${buildType}-${buildId}-${date}${time}/perfresults">
<isset property="build.stream"/>
</condition>
<exec executable="ssh" dir="${build.home}">
<arg line="${login}@download1.eclipse.org rm -rf ${upload.path}"/>
</exec>
<exec executable="ssh" dir="${build.home}">
<arg line="${login}@download1.eclipse.org mkdir ${upload.path}"/>
</exec>
<exec executable="scp" dir="${build.home}">
<arg line="-r ./perfRoot/results/consolelogs ${login}@download1.eclipse.org:${upload.path}"/>
</exec>
<exec executable="scp" dir="${build.home}">
<arg line="-r ./perfRoot/results/html ${login}@download1.eclipse.org:${upload.path}"/>
</exec>
<exec executable="scp" dir="${build.home}">
<arg line="-r ./perfRoot/results/xml ${login}@download1.eclipse.org:${upload.path}"/>
</exec>
<exec executable="scp" dir="${build.home}">
<arg line="-r ./perfRoot/results/graph ${login}@download1.eclipse.org:${upload.path}"/>
</exec>
</target>
<target name="clean" if="clean">
<property file="${build.home}/releng.wtpbuilder/build.properties"/>
<property name="local.cache.dir" value="${build.home}/${build.local.repository}"/>
<property name="workDir" value="${build.home}/workDir"/>
<property name="perfRoot" value="${build.home}/perfRoot"/>
<delete dir="${workDir}" failonerror="false"/>
<delete dir="${perfRoot}" failonerror="false"/>
<delete failonerror="false">
<fileset dir="${local.cache.dir}" includes="wtp-*"/>
</delete>
</target>
</project>