blob: 2c3c61dd895e762adf8313f9c92b0933491eafff [file] [log] [blame]
david_williams42f9b242006-11-27 18:45:14 +00001<?xml version="1.0" encoding="UTF-8"?>
david_williams9505a3e2007-06-29 23:42:47 +00002<project
3 name="runbuild"
4 default="runbuild"
5 basedir=".">
david_williams42f9b242006-11-27 18:45:14 +00006
7 <!-- = = = standard properties pattern = = = -->
8 <!--
david_williams9505a3e2007-06-29 23:42:47 +00009 Note to be cross-platform, "environment variables" are only appropriate for
david_williams42f9b242006-11-27 18:45:14 +000010 some variables, e.g. ones we set, since properties are case sensitive, even if
11 the environment variables on your operating system are not, e.g. it will
12 be ${env.Path} not ${env.PATH} on Windows -->
13 <property environment="env" />
david_williams9505a3e2007-06-29 23:42:47 +000014
david_williams42f9b242006-11-27 18:45:14 +000015 <!--
david_williams9505a3e2007-06-29 23:42:47 +000016 Let users override standard properties, if desired.
17 If directory, file, or some properties do not exist,
18 then standard properties will be used.
19 -->
20 <property
21 file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties" />
david_williams42f9b242006-11-27 18:45:14 +000022
23 <!-- load standard properties for production environment -->
david_williams9505a3e2007-06-29 23:42:47 +000024 <property
25 file="${env.STANDARD_PROPERTIES_DIR}/${ant.project.name}.properties" />
david_williams42f9b242006-11-27 18:45:14 +000026 <!-- = = = end standard properties pattern = = = -->
27
david_williams9505a3e2007-06-29 23:42:47 +000028
david_williamsce156292006-12-11 00:12:35 +000029
30 <!-- if not explicitly set by caller, we'll assume we should fail
david_williams9505a3e2007-06-29 23:42:47 +000031 here on errors. In some cases, such as JUnit test compiles, or
32 even leaf components, the caller may want to set to false, so that
33 some part of the build is still made available -->
34 <property
35 name="eclipseBuildFailOnError"
36 value="true" />
david_williamsce156292006-12-11 00:12:35 +000037
david_williams42f9b242006-11-27 18:45:14 +000038
39 <target name="runbuild">
david_williams9505a3e2007-06-29 23:42:47 +000040 <dirname
41 file="${ant.file}"
42 property="scripts.build.dir" />
43 <property
44 name="wtp.builder.home"
45 value="${scripts.build.dir}/../.." />
david_williams42f9b242006-11-27 18:45:14 +000046
47 <antcall target="runEclipseBuild">
david_williams9505a3e2007-06-29 23:42:47 +000048 <param
49 name="wtp.builder.home"
50 value="${wtp.builder.home}" />
david_williams42f9b242006-11-27 18:45:14 +000051 </antcall>
52 <antcall target="runEclipseBuildStamped">
david_williams9505a3e2007-06-29 23:42:47 +000053 <param
54 name="wtp.builder.home"
55 value="${wtp.builder.home}" />
david_williams42f9b242006-11-27 18:45:14 +000056 </antcall>
57 </target>
58
59
60
david_williams9505a3e2007-06-29 23:42:47 +000061 <target
62 name="build"
63 depends="init">
david_williams42f9b242006-11-27 18:45:14 +000064
65 <!--this property required as of Eclipse 3.0 stream builds > 20031126 -->
david_williams9505a3e2007-06-29 23:42:47 +000066 <property
67 name="buildingOSGi"
68 value="true" />
david_williams42f9b242006-11-27 18:45:14 +000069
70 <!-- this generateFeatureVersionSuffix property causes feature
71 suffixes to be calcuated based on their
72 own CVS tag, plus the qualifier of their contained plugins -->
73 <!--
74 https://bugs.eclipse.org/bugs/show_bug.cgi?id=138825
75 false for builds intended for 3.1.2, since can generate underscores
76 true for builds instended for 3.2
77 -->
david_williams9505a3e2007-06-29 23:42:47 +000078 <property
79 name="generateFeatureVersionSuffix"
80 value="true" />
david_williams42f9b242006-11-27 18:45:14 +000081
david_williams9505a3e2007-06-29 23:42:47 +000082 <property
83 name="outputUpdateJars"
84 value="true" />
david_williams42f9b242006-11-27 18:45:14 +000085
david_williams9505a3e2007-06-29 23:42:47 +000086 <property
87 name="runPackager"
88 value="true" />
david_williams52d0fc02007-05-06 06:08:38 +000089
david_williams42f9b242006-11-27 18:45:14 +000090 <!--run the build for the specified component-->
91 <echo message="basedir: ${basedir}" />
david_williamsf1fa0422006-11-28 22:36:04 +000092 <echo message="component: ${component}" />
david_williams42f9b242006-11-27 18:45:14 +000093 <echo message="buildDirectory: ${buildDirectory}" />
94 <echo message="wtp.builder.home: ${wtp.builder.home}" />
david_williamsec797932007-06-30 19:17:08 +000095 <echo message="buildBranch: ${buildBranch}" />
96
97 <fail unless="buildBranch" />
david_williams42f9b242006-11-27 18:45:14 +000098
david_williams9505a3e2007-06-29 23:42:47 +000099 <ant
100 antfile="build.xml"
101 dir="${pde.build.scripts}">
102 <property
103 name="builder"
104 value="${wtp.builder.home}/components/${component}" />
105 <property
106 name="wtp.builder.home"
107 value="${wtp.builder.home}" />
108 <property
109 name="buildBranch"
110 value="${buildBranch}" />
111 <property
112 name="cvsUser"
113 value="${cvsUser}" />
114 <property
115 name="cvsProtocol"
116 value="${cvsProtocol}" />
117 <property
118 name="dependencyTargets"
119 value="${wtp.builder.home}/scripts/dependency/build.xml" />
120 <property
121 name="local.cache.dir"
122 value="${env.LOCAL_PREREQS_CACHE}" />
123 <property
124 name="baseLocation"
david_williams9ae13be2007-08-20 07:17:07 +0000125 value="${env.BUILD_HOME}/${build.current}/${build.distribution}-${buildBranch}-${buildType}/${base.location}" />
david_williams9505a3e2007-06-29 23:42:47 +0000126 <property
127 name="build.pack-all-in-one"
128 value="${build.pack-all-in-one}" />
129 <property
130 name="buildRoot"
david_williams9ae13be2007-08-20 07:17:07 +0000131 value="${env.BUILD_HOME}/${build.current}/${build.distribution}-${buildBranch}-${buildType}" />
david_williams9505a3e2007-06-29 23:42:47 +0000132 <property
133 name="testRoot"
david_williams9ae13be2007-08-20 07:17:07 +0000134 value="${env.BUILD_HOME}/${build.tests}/${build.distribution}-${buildBranch}-${buildType}" />
david_williams9505a3e2007-06-29 23:42:47 +0000135 <property
136 name="performanceRoot"
137 value="${env.BUILD_HOME}/${build.perf.tests}-${buildType}" />
david_williams42f9b242006-11-27 18:45:14 +0000138 </ant>
139 </target>
140
david_williams13d378c2007-08-22 04:04:54 +0000141 <target
142 name="checkBaseBuilder"
143 depends="checkWTPBaseBuilder">
144
david_williamsec797932007-06-30 19:17:08 +0000145 <!-- we just check if both base, and our wtp specific one are current, if
146 either is not, we'll get them both -->
147
148 <condition property="basebuilderLocal">
149 <and>
150 <available file="${pde.builder.path}" />
david_williams13d378c2007-08-22 04:04:54 +0000151 <!-- should we check explicitly for "true" instead of just isset?
152 either should work for this case, but which is better ant style? -->
153 <isset property="wtpBuilderPresent" />
david_williamsec797932007-06-30 19:17:08 +0000154 </and>
155 </condition>
156
157
david_williams42f9b242006-11-27 18:45:14 +0000158 </target>
159
david_williams9505a3e2007-06-29 23:42:47 +0000160 <target
161 name="getBaseBuilder"
david_williams79b85742007-06-30 19:43:47 +0000162 depends="init,checkBaseBuilder"
david_williams9505a3e2007-06-29 23:42:47 +0000163 unless="basebuilderLocal">
david_williams42f9b242006-11-27 18:45:14 +0000164 <!-- *** change the repo info -->
david_williams9505a3e2007-06-29 23:42:47 +0000165 <property
166 name="builderCvsRoot"
167 value=":pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse" />
168 <property
169 name="basebuilder.path"
170 value="${env.BUILD_HOME}/builders/${eclipse.builder.version}" />
david_williams4fa630e2007-02-17 21:46:07 +0000171 <!-- note: untagged or some default version of base builder is not good to use.
david_williams42f9b242006-11-27 18:45:14 +0000172 in some cases, won't run at all, in the best of cases, will simply
david_williams4fa630e2007-02-17 21:46:07 +0000173 be unstable, so we'll fail if we forgot to specify it -->
david_williams9505a3e2007-06-29 23:42:47 +0000174 <fail unless="eclipse.builder.version" />
175 <mkdir
176 dir="${env.BUILD_HOME}/builders/${eclipse.builder.version}" />
177 <cvs
david_williams13d378c2007-08-22 04:04:54 +0000178 quiet="${env.CVS_QUIET}"
179 reallyquiet="${env.CVS_REALLY_QUIET}"
david_williams9505a3e2007-06-29 23:42:47 +0000180 cvsRoot="${builderCvsRoot}"
181 package="org.eclipse.releng.basebuilder"
182 dest="${basebuilder.path}"
183 tag="${eclipse.builder.version}" />
david_williams64872882007-05-02 06:04:36 +0000184
david_williams9505a3e2007-06-29 23:42:47 +0000185
186 <fail unless="wtpBuildTools.url" />
187 <!-- now add our WTP base builder if not there -->
david_williamsec797932007-06-30 19:17:08 +0000188 <antcall target="getWTPBaseBuilder" />
david_williams64872882007-05-02 06:04:36 +0000189
david_williams42f9b242006-11-27 18:45:14 +0000190 </target>
191
david_williamsc2796252007-06-30 04:41:27 +0000192 <target
193 name="getWTPBaseBuilder"
194 depends="checkWTPBaseBuilder"
195 unless="wtpBuilderPresent">
196 <get
197 dest="${basebuilder.path}/org.eclipse.releng.basebuilder/plugins/${wtpBuildTools.file}"
198 src="${wtpBuildTools.url}/${wtpBuildTools.file}"
199 usetimestamp="true" />
200 </target>
david_williams42f9b242006-11-27 18:45:14 +0000201
david_williamsc2796252007-06-30 04:41:27 +0000202 <target name="checkWTPBaseBuilder">
203 <condition property="wtpBuilderPresent">
204 <available
205 file="${basebuilder.path}/org.eclipse.releng.basebuilder/plugins/${wtpBuildTools.file}" />
206 </condition>
207 </target>
208
209
210
211
212
david_williams42f9b242006-11-27 18:45:14 +0000213 <target name="init">
214
215
david_williams9505a3e2007-06-29 23:42:47 +0000216 <condition
217 property="buildBranch"
david_williamsc2796252007-06-30 04:41:27 +0000218 value="R3.0">
david_williams9505a3e2007-06-29 23:42:47 +0000219 <equals
220 arg1="${mapVersionTag}"
221 arg2="HEAD" />
david_williams42f9b242006-11-27 18:45:14 +0000222 </condition>
david_williams9505a3e2007-06-29 23:42:47 +0000223 <condition
224 property="buildBranch"
225 value="R0.7">
226 <equals
227 arg1="${mapVersionTag}"
228 arg2="R0_7_maintenance" />
david_williams42f9b242006-11-27 18:45:14 +0000229 </condition>
david_williams9505a3e2007-06-29 23:42:47 +0000230 <condition
231 property="buildBranch"
232 value="R1.0">
233 <equals
234 arg1="${mapVersionTag}"
235 arg2="R1_0_maintenance" />
david_williams42f9b242006-11-27 18:45:14 +0000236 </condition>
david_williams9505a3e2007-06-29 23:42:47 +0000237 <condition
238 property="buildBranch"
239 value="R1.5">
240 <equals
241 arg1="${mapVersionTag}"
242 arg2="R1_5_maintenance" />
david_williams42f9b242006-11-27 18:45:14 +0000243 </condition>
david_williamsc2796252007-06-30 04:41:27 +0000244 <condition
245 property="buildBranch"
246 value="R2.0">
247 <equals
248 arg1="${mapVersionTag}"
249 arg2="R2_0_maintenance" />
250 </condition>
251 <!-- if not set above, assume R3.0 -->
252 <!-- this happens, for example, when using a "tempTest" branch -->
253 <property
254 name="buildBranch"
255 value="R3.0" />
david_williamsec797932007-06-30 19:17:08 +0000256
david_williams13d378c2007-08-22 04:04:54 +0000257 <!-- strip trailing blanks. Seems either Eclipse, or CVS make it hard to not have trailing spaces -->
258 <replaceregexp
259 flags="gm"
260 file="${wtp.builder.home}/build.properties"
261 match=" *$"
262 replace="" />
david_williams42f9b242006-11-27 18:45:14 +0000263 <property file="${wtp.builder.home}/build.properties" />
david_williams9505a3e2007-06-29 23:42:47 +0000264
david_williams42f9b242006-11-27 18:45:14 +0000265 <ant antfile="${wtp.builder.home}/scripts/build/label.xml" />
266 <property file="${buildDirectory}/label.properties" />
267
268 <!--fetch the HEAD stream of all projects if build type specified as N-->
david_williams9505a3e2007-06-29 23:42:47 +0000269 <condition
270 property="fetchTag"
271 value="HEAD">
272 <equals
273 arg1="${buildType}"
274 arg2="N" />
david_williams42f9b242006-11-27 18:45:14 +0000275 </condition>
276
277 <condition property="tagMaps">
david_williams9505a3e2007-06-29 23:42:47 +0000278 <equals
279 arg1="${build.trial}"
280 arg2="false" />
david_williams42f9b242006-11-27 18:45:14 +0000281 </condition>
282 </target>
283
david_williams9505a3e2007-06-29 23:42:47 +0000284 <target
285 name="runEclipseBuild"
286 if="buildId">
287 <java
288 taskname="build-${build.distribution}-${component}"
289 jar="${eclipse.launcher}"
290 fork="true"
291 failonerror="${eclipseBuildFailOnError}">
david_williams42f9b242006-11-27 18:45:14 +0000292 <jvmarg value="-Dosgi.ws=${env.BASEWS}" />
293 <jvmarg value="-Dosgi.os=${env.BASEOS}" />
294 <jvmarg value="-Dosgi.arch=${env.BASEARCH}" />
295 <jvmarg value="-Dbuild.home=${env.BUILD_HOME}" />
296 <jvmarg value="-Dbuild.trial=${build.trial}" />
297 <jvmarg value="-DbuildType=${buildType}" />
298 <jvmarg value="-DbuildId=${buildId}" />
299 <jvmarg value="-DjavacDebugInfo=${javacDebugInfo}" />
300 <jvmarg value="-DmapVersionTag=${mapVersionTag}" />
david_williams13d378c2007-08-22 04:04:54 +0000301 <jvmarg
302 value="-Dreleng-jsf-mapVersionTag=${releng-jsf-mapVersionTag}" />
303 <jvmarg
304 value="-Dreleng.dali-mapVersionTag=${releng.dali-mapVersionTag}" />
david_williams9505a3e2007-06-29 23:42:47 +0000305 <jvmarg value="-DlogExtension=${logExtension}" />
306 <jvmarg value="-DcvsUser=${cvsUser}" />
david_williams42f9b242006-11-27 18:45:14 +0000307 <jvmarg value="-DcvsProtocol=${cvsProtocol}" />
308 <jvmarg value="-Dwtp.builder.home=${wtp.builder.home}" />
309 <jvmarg value="-Dbuild.distribution=${build.distribution}" />
david_williamsf1fa0422006-11-28 22:36:04 +0000310 <jvmarg value="-Dcomponent=${component}" />
david_williams42f9b242006-11-27 18:45:14 +0000311 <jvmarg value="-DJ2SE-1.5=${env.J2SE15}" />
312 <jvmarg value="-DJ2SE-1.4=${env.J2SE14}" />
313 <arg value="-application" />
314 <arg value="org.eclipse.ant.core.antRunner" />
315 <arg value="-buildfile" />
316 <arg value="${ant.file}" />
317 <arg value="build" />
david_williams9505a3e2007-06-29 23:42:47 +0000318 <sysproperty
319 key="logExtension"
320 value="${logExtension}" />
321
david_williams42f9b242006-11-27 18:45:14 +0000322 </java>
323 </target>
david_williams9505a3e2007-06-29 23:42:47 +0000324
325 <target
326 name="runEclipseBuildStamped"
327 unless="buildId">
328 <java
329 taskname="build-${build.distribution}-${component}"
330 jar="${eclipse.launcher}"
331 fork="true"
332 failonerror="${eclipseBuildFailOnError}">
david_williams42f9b242006-11-27 18:45:14 +0000333 <jvmarg value="-Dosgi.ws=${env.BASEWS}" />
334 <jvmarg value="-Dosgi.os=${env.BASEOS}" />
335 <jvmarg value="-Dosgi.arch=${env.BASEARCH}" />
336 <jvmarg value="-Dbuild.home=${env.BUILD_HOME}" />
337 <jvmarg value="-Dbuild.trial=${build.trial}" />
338 <jvmarg value="-DbuildType=${buildType}" />
339 <jvmarg value="-DjavacDebugInfo=${javacDebugInfo}" />
340 <jvmarg value="-DmapVersionTag=${mapVersionTag}" />
david_williams13d378c2007-08-22 04:04:54 +0000341 <jvmarg
342 value="-Dreleng-jsf-mapVersionTag=${releng-jsf-mapVersionTag}" />
343 <jvmarg
344 value="-Dreleng.dali-mapVersionTag=${releng.dali-mapVersionTag}" />
david_williams42f9b242006-11-27 18:45:14 +0000345 <jvmarg value="-DcvsUser=${cvsUser}" />
346 <jvmarg value="-DcvsProtocol=${cvsProtocol}" />
david_williams9505a3e2007-06-29 23:42:47 +0000347 <jvmarg value="-DlogExtension=${logExtension}" />
david_williams42f9b242006-11-27 18:45:14 +0000348 <jvmarg value="-Dwtp.builder.home=${wtp.builder.home}" />
349 <jvmarg value="-Dbuild.distribution=${build.distribution}" />
david_williamsf1fa0422006-11-28 22:36:04 +0000350 <jvmarg value="-Dcomponent=${component}" />
david_williams42f9b242006-11-27 18:45:14 +0000351 <jvmarg value="-DJ2SE-1.5=${env.J2SE15}" />
352 <jvmarg value="-DJ2SE-1.4=${env.J2SE14}" />
353 <arg value="-application" />
354 <arg value="org.eclipse.ant.core.antRunner" />
355 <arg value="-buildfile" />
356 <arg value="${ant.file}" />
357 <arg value="build" />
david_williams9505a3e2007-06-29 23:42:47 +0000358 <sysproperty
359 key="logExtension"
360 value="${logExtension}" />
361 </java>
david_williams42f9b242006-11-27 18:45:14 +0000362 </target>
363</project>