blob: 3053cde8376455a798dcabfd1dac2484b0282657 [file] [log] [blame]
jeffliud0eb4a72005-09-28 14:58:59 +00001<project default="main" basedir=".">
2
3 <!--
4 Required inputs:
5
6 build.home
jeffliud0eb4a72005-09-28 14:58:59 +00007 buildType
8 buildId
9 date
10 time
david_williams42f9b242006-11-27 18:45:14 +000011 env.BASEOS
12 env.BASEWS
13 env.BASEARCH
jeffliu21a78862005-11-30 07:03:22 +000014 buildType.tests [optional]
15 buildId.tests [optional]
16 date.tests [optional]
17 time.tests [optional]
jeffliu5067e5e2006-07-10 19:21:17 +000018 build.stream [optional]
jeffliu21a78862005-11-30 07:03:22 +000019 build.committers [optional]
20 releng.tag [optional]
jeffliud0eb4a72005-09-28 14:58:59 +000021 perf.target [optional]
22 -->
david_williams42f9b242006-11-27 18:45:14 +000023 <!-- Note to be cross-platform, "environment variables" are only appropriate for
24 some variables, e.g. ones we set, since properties are case sensitive, even if
25 the environment variables on your operating system are not, e.g. it will
26 be ${env.Path} not ${env.PATH} on Windows -->
27 <property environment="env" />
28
29
30
jeffliud0eb4a72005-09-28 14:58:59 +000031 <target name="main">
jeffliu269ce342006-03-17 17:56:32 +000032 <property name="perf.buildId" value="${buildType}${date}-${time}"/>
33 <property name="timestamp" value="${date}${time}"/>
jeffliu21a78862005-11-30 07:03:22 +000034 <property name="buildType.tests" value="${buildType}"/>
35 <property name="buildId.tests" value="${buildId}"/>
36 <property name="date.tests" value="${date}"/>
37 <property name="time.tests" value="${time}"/>
jeffliu269ce342006-03-17 17:56:32 +000038 <property name="timestamp.tests" value="${date.tests}${time.tests}"/>
jeffliud0eb4a72005-09-28 14:58:59 +000039 <property file="${build.home}/releng.wtpbuilder/build.properties"/>
david_williams42f9b242006-11-27 18:45:14 +000040 <property name="local.cache.dir" value="${env.LOCAL_PREREQS_CACHE}"/>
jeffliu269ce342006-03-17 17:56:32 +000041 <property name="workDir" value="${build.home}/workDir"/>
42 <property name="perfRoot" value="${build.home}/perfRoot"/>
43 <delete dir="${workDir}" failonerror="false"/>
44 <delete dir="${perfRoot}" failonerror="false"/>
45 <mkdir dir="${local.cache.dir}"/>
46 <mkdir dir="${workDir}"/>
jeffliud0eb4a72005-09-28 14:58:59 +000047 <mkdir dir="${perfRoot}"/>
48 <antcall target="getReleng"/>
49 <property file="${perfRoot}/releng/maps/dependencies.properties"/>
jeffliu269ce342006-03-17 17:56:32 +000050 <antcall target="getDependencies"/>
51 <condition property="wtp-sdk" value="wtp-sdk-${buildId}.zip" else="wtp-sdk-${buildType}-${buildId}-${timestamp}.zip">
52 <available file="${local.cache.dir}/wtp-sdk-${buildId}.zip"/>
53 </condition>
54 <condition property="wtp-wst-tests" value="wtp-wst-Automated-Tests-${buildId}.zip" else="wtp-wst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip">
55 <available file="${local.cache.dir}/wtp-wst-Automated-Tests-${buildId}.zip"/>
56 </condition>
57 <condition property="wtp-jst-tests" value="wtp-jst-Automated-Tests-${buildId}.zip" else="wtp-jst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip">
58 <available file="${local.cache.dir}/wtp-jst-Automated-Tests-${buildId}.zip"/>
59 </condition>
jeffliue0a99af2006-03-28 20:57:45 +000060 <antcall target="setup"/>
jeffliud0eb4a72005-09-28 14:58:59 +000061 <antcall target="run"/>
jeffliud0eb4a72005-09-28 14:58:59 +000062 </target>
63
64 <target name="getReleng">
jeffliu269ce342006-03-17 17:56:32 +000065 <property name="releng.tag" value="v${buildType}${timestamp}"/>
jeffliud0eb4a72005-09-28 14:58:59 +000066 <cvs
david_williams0e4fcd02005-11-06 20:10:58 +000067 cvsRoot=":pserver:anonymous@dev.eclipse.org:/cvsroot/webtools"
jeffliud0eb4a72005-09-28 14:58:59 +000068 package="releng"
69 dest="${perfRoot}"
70 command="export"
71 tag="${releng.tag}"
72 />
73 </target>
74
jeffliu269ce342006-03-17 17:56:32 +000075 <target name="getDependencies">
76 <property name="install.destination" value="${workDir}/"/>
77 <antcall target="getAndInstall">
78 <param name="groupId" value="eclipse" />
79 <param name="clean" value="true" />
80 </antcall>
81 </target>
82
jeffliud0eb4a72005-09-28 14:58:59 +000083 <target name="setup">
jeffliu269ce342006-03-17 17:56:32 +000084 <property file="${build.home}/releng.wtpbuilder/build.properties"/>
85 <property file="${perfRoot}/releng/maps/dependencies.properties"/>
jeffliud0eb4a72005-09-28 14:58:59 +000086 <property name="install.destination" value="${perfRoot}"/>
jeffliud0eb4a72005-09-28 14:58:59 +000087 <antcall target="getAndInstall">
88 <param name="groupId" value="eclipse" />
89 <param name="clean" value="true" />
90 </antcall>
91 <antcall target="getAndInstall">
92 <param name="groupId" value="eclipseTestFramework" />
93 <param name="clean" value="true" />
94 </antcall>
95 <antcall target="getAndInstall">
96 <param name="groupId" value="emf" />
97 <param name="clean" value="true" />
98 </antcall>
99 <antcall target="getAndInstall">
100 <param name="groupId" value="gef" />
101 <param name="clean" value="true" />
102 </antcall>
jlanuti201ffe32007-03-19 17:51:16 +0000103 <condition property="15x">
jlanuti99254572007-02-28 19:46:11 +0000104 <equals arg1="R1.5" arg2="${build.stream}"/>
105 </condition>
106 <antcall target="getAndInstallJEM"/>
jlanuti201ffe32007-03-19 17:51:16 +0000107 <antcall target="getAndInstallDtp"/>
jeffliud0eb4a72005-09-28 14:58:59 +0000108 <antcall target="getAndInstall">
109 <param name="groupId" value="tomcat.5" />
110 </antcall>
111 <antcall target="getAndInstall">
112 <param name="groupId" value="tomcat.4" />
113 </antcall>
114 <antcall target="getAndInstall">
115 <param name="groupId" value="jonas.4" />
116 </antcall>
117 <antcall target="getAndInstall">
118 <param name="groupId" value="oagis.release" />
119 </antcall>
120 <antcall target="getAndInstall">
121 <param name="groupId" value="oagis.wsdl" />
122 </antcall>
123 <antcall target="getAndInstall">
124 <param name="groupId" value="derby" />
125 </antcall>
126 <antcall target="getAndInstallWTP">
jeffliu269ce342006-03-17 17:56:32 +0000127 <param name="file" value="wtp-sdk-${buildId}.zip" />
128 </antcall>
129 <antcall target="getAndInstallWTP">
130 <param name="file" value="wtp-sdk-${buildType}-${buildId}-${timestamp}.zip" />
jeffliud0eb4a72005-09-28 14:58:59 +0000131 </antcall>
132 <antcall target="getAndInstallWTP">
jeffliu21a78862005-11-30 07:03:22 +0000133 <param name="file" value="wtp-wst-Automated-Tests-${buildId.tests}.zip" />
jeffliud0eb4a72005-09-28 14:58:59 +0000134 </antcall>
135 <antcall target="getAndInstallWTP">
jeffliu269ce342006-03-17 17:56:32 +0000136 <param name="file" value="wtp-wst-Automated-Tests-${buildType.tests}-${buildId.tests}-${timestamp.tests}.zip" />
137 </antcall>
138 <antcall target="getAndInstallWTP">
jeffliu21a78862005-11-30 07:03:22 +0000139 <param name="file" value="wtp-jst-Automated-Tests-${buildId.tests}.zip" />
jeffliud0eb4a72005-09-28 14:58:59 +0000140 </antcall>
jeffliu269ce342006-03-17 17:56:32 +0000141 <antcall target="getAndInstallWTP">
142 <param name="file" value="wtp-jst-Automated-Tests-${buildType.tests}-${buildId.tests}-${timestamp.tests}.zip" />
143 </antcall>
jeffliud0eb4a72005-09-28 14:58:59 +0000144 <antcall target="setup.derby"/>
jeffliu269ce342006-03-17 17:56:32 +0000145 <copy file="${build.home}/releng.wtpbuilder/distribution/wtp.perf/performance-tests.xml" tofile="${perfRoot}/performance-tests.xml"></copy>
jeffliud0eb4a72005-09-28 14:58:59 +0000146 </target>
147
jlanuti201ffe32007-03-19 17:51:16 +0000148 <target name="getAndInstallJEM" if="15x">
jlanuti99254572007-02-28 19:46:11 +0000149 <antcall target="getAndInstall">
150 <param name="groupId" value="jem" />
151 <param name="clean" value="true" />
152 </antcall>
153 </target>
jlanuti201ffe32007-03-19 17:51:16 +0000154
155 <target name="getAndInstallDtp" unless="15x">
156 <antcall target="getAndInstall">
157 <param name="groupId" value="dtp" />
158 <param name="clean" value="true" />
159 </antcall>
160 </target>
161
jeffliud0eb4a72005-09-28 14:58:59 +0000162 <target name="getAndInstall">
163 <property name="dependencyTargets" value="${build.home}/releng.wtpbuilder/scripts/dependency/build.xml"/>
164 <ant antfile="${dependencyTargets}" target="checkDependency">
165 <property name="groupId" value="${groupId}" />
166 </ant>
167 <ant antfile="${dependencyTargets}" target="installDependency">
168 <property name="groupId" value="${groupId}" />
169 </ant>
170 </target>
171
172 <target name="getAndInstallWTP">
jeffliu269ce342006-03-17 17:56:32 +0000173 <available file="${local.cache.dir}/${file}" property="file.exists"/>
jeffliud0eb4a72005-09-28 14:58:59 +0000174 <antcall target="getWTP"/>
jeffliu269ce342006-03-17 17:56:32 +0000175 <available file="${local.cache.dir}/${file}" property="file.exists"/>
176 <antcall target="installWTP"/>
jeffliud0eb4a72005-09-28 14:58:59 +0000177 </target>
178
jeffliu21a78862005-11-30 07:03:22 +0000179 <target name="getWTP">
jeffliu5067e5e2006-07-10 19:21:17 +0000180 <condition property="file.url.1" value="http://download.eclipse.org/webtools/committers" else="http://download.eclipse.org/webtools/downloads">
jeffliu21a78862005-11-30 07:03:22 +0000181 <isset property="build.committers"/>
182 </condition>
jeffliu5067e5e2006-07-10 19:21:17 +0000183 <condition property="file.url" value="${file.url.1}/drops/${build.stream}/${buildType}-${buildId}-${timestamp}" else="${file.url.1}/drops/${buildType}-${buildId}-${timestamp}">
184 <isset property="build.stream"/>
185 </condition>
jeffliu21a78862005-11-30 07:03:22 +0000186 <antcall target="getWTP2"/>
187 </target>
188
189 <target name="getWTP2" unless="file.exists">
jeffliu5067e5e2006-07-10 19:21:17 +0000190 <property name="file.url" value="http://download.eclipse.org/webtools/downloads/drops/${build.stream}/${buildType}-${buildId}-${timestamp}"/>
jeffliu269ce342006-03-17 17:56:32 +0000191 <get dest="${local.cache.dir}/${file}" src="${file.url}/${file}" ignoreerrors="true"/>
192 </target>
193
194 <target name="installWTP" if="file.exists">
195 <unzip src="${local.cache.dir}/${file}" dest="${install.destination}" overwrite="true"/>
jeffliud0eb4a72005-09-28 14:58:59 +0000196 </target>
197
198 <target name="setup.derby">
199 <property name="derby" value="${install.destination}/eclipse/plugins/org.apache.derby"/>
200 <mkdir dir="${derby}"/>
201 <copy todir="${derby}" overwrite="true">
202 <fileset dir="${perfRoot}/incubating-derby-10.0.2.1-bin/lib">
203 <include name="**/*.jar"/>
204 </fileset>
205 </copy>
jeffliu269ce342006-03-17 17:56:32 +0000206 <copy tofile="${derby}/plugin.xml" file="${build.home}/releng.wtpbuilder/distribution/wtp.perf/derby.plugin.xml.template" overwrite="true"/>
jeffliud0eb4a72005-09-28 14:58:59 +0000207 <replace dir="${perfRoot}/eclipse/plugins" value="&lt;import plugin=&quot;org.apache.derby&quot;/&gt;">
208 <include name="org.eclipse.test.performance_*/plugin.xml"/>
209 <replacetoken><![CDATA[<import plugin="org.apache.derby" optional="true"/>]]></replacetoken>
210 </replace>
211 </target>
212
213 <target name="run">
jeffliud0eb4a72005-09-28 14:58:59 +0000214 <property name="perf.target" value="main"/>
jeffliu269ce342006-03-17 17:56:32 +0000215 <mkdir dir="${perfRoot}/results/consolelogs"/>
david_williams54315a72007-02-14 22:50:44 +0000216 <java jar="${workDir}/eclipse/startup.jar" fork="true" failonerror="true" timeout="28800000" output="${perfRoot}/results/consolelogs/wtpperflog.txt" dir="${workDir}">
david_williams42f9b242006-11-27 18:45:14 +0000217 <jvmarg value="-Dosgi.ws=${env.BASEWS}" />
218 <jvmarg value="-Dosgi.os=${env.BASEOS}" />
219 <jvmarg value="-Dosgi.arch=${env.BASEARCH}" /> <jvmarg value="-Dnoclean=true" />
jeffliu269ce342006-03-17 17:56:32 +0000220 <jvmarg value="-DbuildType=${buildType}" />
221 <jvmarg value="-DbuildId=${buildId}" />
222 <jvmarg value="-Dtimestamp=${timestamp}"/>
223 <jvmarg value="-DbuildType.tests=${buildType.tests}" />
224 <jvmarg value="-DbuildId.tests=${buildId.tests}" />
225 <jvmarg value="-Dtimestamp.tests=${timestamp.tests}"/>
226 <arg value="-propertyfile" />
227 <arg value="${build.home}/releng.wtpbuilder/distribution/wtp.perf/perf.properties" />
228 <arg value="-application" />
229 <arg value="org.eclipse.ant.core.antRunner" />
230 <arg value="-file" />
231 <arg value="${build.home}/releng.wtpbuilder/distribution/wtp.perf/perf.xml" />
232 <arg value="-logger" />
233 <arg value="org.apache.tools.ant.DefaultLogger" />
234 <arg value="${perf.target}" />
235 <sysproperty key="eclipse-home" value="${perfRoot}/eclipse"/>
236 <sysproperty key="perf.buildId" value="${perf.buildId}"/>
jeffliu269ce342006-03-17 17:56:32 +0000237 <sysproperty key="build.home" value="${build.home}" />
238 <sysproperty key="local.cache.dir" value="${local.cache.dir}"/>
239 <sysproperty key="perfRoot" value="${perfRoot}"/>
240 <sysproperty key="testDir" value="${perfRoot}" />
241 </java>
jeffliud0eb4a72005-09-28 14:58:59 +0000242 </target>
jeffliu269ce342006-03-17 17:56:32 +0000243
244 <target name="graph">
jeffliu5820f872006-05-03 14:40:36 +0000245 <property name="perf.buildId" value="${buildType}${date}-${time}"/>
246 <property name="perfRoot" value="${build.home}/perfRoot"/>
jeffliu269ce342006-03-17 17:56:32 +0000247 <cvs
248 cvsRoot=":pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse"
249 package="org.eclipse.releng.basebuilder"
250 dest="${perfRoot}"
251 command="export"
252 tag="M5_32"
253 />
254 <property file="${build.home}/releng.wtpbuilder/distribution/wtp.perf/perf.properties"/>
255 <antcall target="setup.derby">
256 <param name="derby" value="${perfRoot}/org.eclipse.releng.basebuilder/plugins/org.apache.derby"/>
257 </antcall>
258 <mkdir dir="${perfRoot}/results/graph"/>
david_williams54315a72007-02-14 22:50:44 +0000259 <java jar="${perfRoot}/org.eclipse.releng.basebuilder/startup.jar" fork="true" failonerror="true" timeout="3600000" dir="${perfRoot}">
david_williams42f9b242006-11-27 18:45:14 +0000260 <jvmarg value="-Dosgi.ws=${env.BASEWS}" />
261 <jvmarg value="-Dosgi.os=${env.BASEOS}" />
david_williams54315a72007-02-14 22:50:44 +0000262 <jvmarg value="-Dosgi.arch=${env.BASEARCH}" />
263 <jvmarg value="-Declipse.perf.dbloc=${build.home}/${perf.dbloc}"/>
jeffliu269ce342006-03-17 17:56:32 +0000264 <arg value="-application" />
265 <arg value="org.eclipse.test.performance.ui.resultGenerator" />
266 <arg value="-baseline"/>
267 <arg value="${perf.ref.buildId}"/>
268 <arg value="-baseline.prefix"/>
269 <arg value="${perf.ref.config}"/>
270 <arg value="-current"/>
271 <arg value="${perf.buildId}"/>
272 <arg value="-current.prefix"/>
273 <arg value="${perf.config}"/>
274 <arg value="-jvm"/>
275 <arg value="${perf.jvm}"/>
276 <arg value="-config"/>
277 <arg value="${perf.config}"/>
278 <arg value="-output"/>
279 <arg value="${perfRoot}/results/graph"/>
280 </java>
281 <copy file="${build.home}/releng.wtpbuilder/distribution/wtp.perf/performance.php" tofile="${perfRoot}/results/graph/performance.php"/>
282 </target>
283
284 <target name="upload" if="login">
jeffliu5820f872006-05-03 14:40:36 +0000285 <mkdir dir="${build.home}/archives"/>
286 <zip destfile="${build.home}/archives/${buildType}-${buildId}-${date}${time}.zip" basedir="${build.home}/perfRoot/results"/>
jeffliu5067e5e2006-07-10 19:21:17 +0000287 <condition property="upload.path.1"
288 else="~/downloads/webtools/downloads"
289 value="~/downloads/webtools/committers">
jeffliu269ce342006-03-17 17:56:32 +0000290 <isset property="build.committers"/>
291 </condition>
jeffliu5067e5e2006-07-10 19:21:17 +0000292 <condition property="upload.path"
293 else="${upload.path.1}/drops/${buildType}-${buildId}-${date}${time}/perfresults"
294 value="${upload.path.1}/drops/${build.stream}/${buildType}-${buildId}-${date}${time}/perfresults">
295 <isset property="build.stream"/>
296 </condition>
jeffliu269ce342006-03-17 17:56:32 +0000297 <exec executable="ssh" dir="${build.home}">
jeffliu5820f872006-05-03 14:40:36 +0000298 <arg line="${login}@download1.eclipse.org rm -rf ${upload.path}"/>
299 </exec>
300 <exec executable="ssh" dir="${build.home}">
jeffliu269ce342006-03-17 17:56:32 +0000301 <arg line="${login}@download1.eclipse.org mkdir ${upload.path}"/>
302 </exec>
303 <exec executable="scp" dir="${build.home}">
jeffliu9b95b082006-03-29 19:41:10 +0000304 <arg line="-r ./perfRoot/results/consolelogs ${login}@download1.eclipse.org:${upload.path}"/>
305 </exec>
306 <exec executable="scp" dir="${build.home}">
307 <arg line="-r ./perfRoot/results/html ${login}@download1.eclipse.org:${upload.path}"/>
308 </exec>
309 <exec executable="scp" dir="${build.home}">
310 <arg line="-r ./perfRoot/results/xml ${login}@download1.eclipse.org:${upload.path}"/>
311 </exec>
312 <exec executable="scp" dir="${build.home}">
313 <arg line="-r ./perfRoot/results/graph ${login}@download1.eclipse.org:${upload.path}"/>
jeffliu269ce342006-03-17 17:56:32 +0000314 </exec>
315 </target>
316
317 <target name="clean" if="clean">
jeffliu7c7e7242006-05-01 20:30:52 +0000318 <property file="${build.home}/releng.wtpbuilder/build.properties"/>
david_williams42f9b242006-11-27 18:45:14 +0000319 <property name="local.cache.dir" value="${env.LOCAL_PREREQS_CACHE}"/>
jeffliu7c7e7242006-05-01 20:30:52 +0000320 <property name="workDir" value="${build.home}/workDir"/>
321 <property name="perfRoot" value="${build.home}/perfRoot"/>
jeffliu269ce342006-03-17 17:56:32 +0000322 <delete dir="${workDir}" failonerror="false"/>
323 <delete dir="${perfRoot}" failonerror="false"/>
jeffliu7c7e7242006-05-01 20:30:52 +0000324 <delete failonerror="false">
325 <fileset dir="${local.cache.dir}" includes="wtp-*"/>
326 </delete>
jeffliu269ce342006-03-17 17:56:32 +0000327 </target>
328
jeffliud0eb4a72005-09-28 14:58:59 +0000329</project>