blob: fa2fbca3551e2d756f88a2193af37afc4791e5ff [file] [log] [blame]
david_williamsd913e922006-11-13 07:24:21 +00001<project
david_williams05dbe622007-12-09 01:20:57 +00002 name="PDECustomTargets"
3 default="noDefault"
david_williams403beae2007-12-09 02:10:40 +00004 basedir=".">
5
david_williams886167e2007-12-13 04:42:37 +00006
7 <!-- = = = standard properties pattern = = = -->
8
9 <!--
10 Note to be cross-platform, "environment variables" are only appropriate for
11 some variables, e.g. ones we set, since properties are case sensitive, even if
12 the environment variables on your operating system are not, e.g. it will
13 be ${env.Path} not ${env.PATH} on Windows -->
14 <property environment="env" />
15
16 <!--
17 Let users override standard properties, if desired.
18 If directory, file, or some properties do not exist,
19 then standard properties will be used.
20 -->
21 <property
22 file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties" />
23
24 <!-- let this project specify properties, if not already set -->
25 <property file="build.properties" />
26
david_williams403beae2007-12-09 02:10:40 +000027
david_williams842e4192007-12-09 07:44:35 +000028 <property
29 name="cvsProtocol"
30 value="${env.WTP_CVS_PROTOCOL}" />
31 <property
32 name="cvsUser"
33 value="${env.WTP_CVS_USER}" />
34 <property
35 name="cvsServer"
36 value="${env.WTP_CVS_SERVER}" />
37 <property
38 name="cvsRoot"
39 value="${env.WTP_CVS_ROOT}" />
40
david_williamsd913e922006-11-13 07:24:21 +000041 <!-- ===================================================================== -->
42 <!-- Run a given ${target} on all elements being built -->
43 <!-- Add on <ant> task for each top level element being built. -->
44 <!-- ===================================================================== -->
45 <target name="allElements">
david_williams403beae2007-12-09 02:10:40 +000046 <echo
47 level="info"
48 message="Target:${target} " />
49 <echo
50 level="debug"
51 message="basedir: ${basedir}" />
52 <echo
53 level="debug"
54 message="component: ${component}" />
55 <echo
56 level="debug"
57 message="buildDirectory: ${buildDirectory}" />
58 <echo
59 level="debug"
60 message="baseLocation: ${baseLocation}" />
61 <echo
62 level="debug"
63 message="generic target: ${genericTargets}" />
david_williamsd913e922006-11-13 07:24:21 +000064 <ant
65 antfile="${genericTargets}"
66 target="${target}">
67 <property
68 name="type"
69 value="feature" />
70 <property
71 name="id"
72 value="org.eclipse.jst" />
73 </ant>
74 </target>
ndaib8cedc82005-09-13 18:00:32 +000075
david_williamsd913e922006-11-13 07:24:21 +000076 <!-- ===================================================================== -->
77 <!-- Targets to assemble the built elements for particular configurations -->
78 <!-- These generally call the generated assemble scripts (named in -->
79 <!-- ${assembleScriptName}) but may also add pre and post processing -->
80 <!-- Add one target for each root element and each configuration -->
81 <!-- ===================================================================== -->
ndaib8cedc82005-09-13 18:00:32 +000082
david_williamsd913e922006-11-13 07:24:21 +000083 <target name="assemble.org.eclipse.jst">
84 <property
85 name="archiveName"
86 value="wtp-jst-${buildLabel}.zip" />
87 <ant
88 antfile="${assembleScriptName}"
89 dir="${buildDirectory}" />
ndaib8cedc82005-09-13 18:00:32 +000090
david_williamsd913e922006-11-13 07:24:21 +000091 </target>
david_williamsa0aec8e2006-05-23 00:29:00 +000092
david_williamsd913e922006-11-13 07:24:21 +000093 <target name="prePackage" />
david_williamsa0aec8e2006-05-23 00:29:00 +000094
david_williamsd913e922006-11-13 07:24:21 +000095 <target name="postPackage">
david_williamsa0aec8e2006-05-23 00:29:00 +000096
david_williamsd913e922006-11-13 07:24:21 +000097 <property
98 name="archiveName"
99 value="wtp-jst-${buildLabel}.zip" />
david_williamsa0aec8e2006-05-23 00:29:00 +0000100
david_williamsd913e922006-11-13 07:24:21 +0000101 <ant
102 antfile="${wtp.builder.home}/scripts/build/buildutilities.xml"
103 target="unpackUpdateJarsAndCreateZippedPackages">
104 <property
105 name="buildDirectory"
106 value="${buildDirectory}" />
107 <property
108 name="buildLabel"
109 value="${buildLabel}" />
110 <property
111 name="archiveName"
112 value="${archiveName}" />
113 </ant>
ndaib8cedc82005-09-13 18:00:32 +0000114
115
david_williams3696f6f2005-12-30 07:59:43 +0000116
david_williams3696f6f2005-12-30 07:59:43 +0000117
david_williams3696f6f2005-12-30 07:59:43 +0000118
david_williamsd913e922006-11-13 07:24:21 +0000119 </target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000120
david_williamsd913e922006-11-13 07:24:21 +0000121 <!-- ===================================================================== -->
122 <!-- Check out map files from correct repository -->
123 <!-- Replace values for cvsRoot, package and mapVersionTag as desired. -->
124 <!-- ===================================================================== -->
david_williams403beae2007-12-09 02:10:40 +0000125 <target
126 name="checkLocal"
127 depends="check.useLocalMaps"
128 if="useLocalMaps">
129 <condition property="mapsLocal">
130 <and>
131 <available file="${buildDirectory}/maps/${env.RELENG}" />
132 <available
133 file="${buildDirectory}/maps/${env.RELENGJSF}" />
134 </and>
135 </condition>
david_williamsd913e922006-11-13 07:24:21 +0000136 </target>
137 <target
138 name="getMapFiles"
139 depends="checkLocal"
140 unless="mapsLocal">
david_williamsa0aec8e2006-05-23 00:29:00 +0000141
david_williamsd913e922006-11-13 07:24:21 +0000142 <!-- *** change the repo info -->
143 <property
144 name="mapCvsRoot"
145 value=":${cvsProtocol}:${cvsUser}@${cvsServer}:${cvsRoot}" />
david_williams403beae2007-12-09 02:10:40 +0000146
david_williams5ad66ff2007-07-01 03:35:33 +0000147 <!-- if not otherwise set, assume HEAD -->
david_williamsd913e922006-11-13 07:24:21 +0000148 <property
149 name="mapVersionTag"
150 value="HEAD" />
david_williams5ad66ff2007-07-01 03:35:33 +0000151 <property
david_williams7f01a0d2007-12-10 02:17:05 +0000152 name="releng.jsf-mapVersionTag"
david_williams5ad66ff2007-07-01 03:35:33 +0000153 value="HEAD" />
david_williams403beae2007-12-09 02:10:40 +0000154
155
156
157 <echo
158 level="info"
159 message="${mapCvsRoot} ${mapVersionTag} ">
160 </echo>
161 <property
david_williams5d9c9862007-11-19 04:42:55 +0000162 name="cvsPackage"
163 value="${env.RELENGMAPS}" />
david_williams403beae2007-12-09 02:10:40 +0000164 <echo
165 level="debug"
166 message="${mapCvsRoot} ${mapVersionTag} " />
167 <echo
168 level="debug"
169 message="cvsPackage = ${cvsPackage} " />
david_williamsd913e922006-11-13 07:24:21 +0000170 <cvs
171 cvsRoot="${mapCvsRoot}"
david_williams5d9c9862007-11-19 04:42:55 +0000172 package="${cvsPackage}"
david_williamsd913e922006-11-13 07:24:21 +0000173 dest="${buildDirectory}/maps"
david_williams403beae2007-12-09 02:10:40 +0000174 tag="${mapVersionTag}"
david_williamsa3e48362007-08-22 04:21:50 +0000175 quiet="${env.CVS_QUIET}"
176 reallyquiet="${env.CVS_REALLY_QUIET}" />
david_williams5bc53f12007-11-19 05:17:01 +0000177
david_williams403beae2007-12-09 02:10:40 +0000178 <!--
179 <cvs
180 cvsRoot="${mapCvsRoot}"
181 package="${env.RELENGMAPS}"
182 dest="${buildDirectory}/maps"
183 tag="${mapVersionTag}"
184 quiet="${env.CVS_QUIET}"
185 reallyquiet="${env.CVS_REALLY_QUIET}" />
186 -->
david_williams5bc53f12007-11-19 05:17:01 +0000187
188 <cvs
189 cvsRoot="${mapCvsRoot}"
190 package="${env.RELENGJSF}"
191 dest="${buildDirectory}/maps"
david_williams7f01a0d2007-12-10 02:17:05 +0000192 tag="${releng.jsf-mapVersionTag}"
david_williams5bc53f12007-11-19 05:17:01 +0000193 quiet="${env.CVS_QUIET}"
david_williams403beae2007-12-09 02:10:40 +0000194 reallyquiet="${env.CVS_REALLY_QUIET}" />
195
david_williamsd913e922006-11-13 07:24:21 +0000196 <!--tag the map files project-->
197 <antcall target="tagMapFiles">
198 <param
199 name="mapCvsRoot"
200 value="${mapCvsRoot}" />
201 </antcall>
david_williams5b401202007-06-07 23:49:38 +0000202
david_williams403beae2007-12-09 02:10:40 +0000203 <!-- copy all maps to the same place. Be sure to copy only "maps", as there may be "dependancies" etc,
204 that could be out of date -->
205 <!-- turns out this "one flat directory" appears not needed!
206 <copy todir="${buildDirectory}/maps/${env.RELENG}/maps" flatten="true">
207 <fileset dir="${buildDirectory}/maps/">
208 <include name="**/*.map" />
209 </fileset>
210 </copy>
211 -->
david_williams5b401202007-06-07 23:49:38 +0000212
213
david_williamsd913e922006-11-13 07:24:21 +0000214 </target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000215
david_williamsd913e922006-11-13 07:24:21 +0000216 <target
217 name="tagMapFiles"
218 if="tagMaps">
219 <cvs
220 cvsRoot="${mapCvsRoot}"
221 dest="${buildDirectory}/maps"
david_williamsa3e48362007-08-22 04:21:50 +0000222 command="tag v${buildType}${timestamp}"
223 quiet="${env.CVS_QUIET}"
224 reallyquiet="${env.CVS_REALLY_QUIET}" />
david_williamsd913e922006-11-13 07:24:21 +0000225 </target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000226
227
david_williamsd913e922006-11-13 07:24:21 +0000228 <!-- ===================================================================== -->
229 <!-- Steps to do before setup -->
230 <!-- ===================================================================== -->
231 <target name="preSetup"></target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000232
david_williamsd913e922006-11-13 07:24:21 +0000233 <!-- ===================================================================== -->
234 <!-- Steps to do after setup but before starting the build proper -->
235 <!-- ===================================================================== -->
236 <target name="postSetup">
237 <dirname
238 file="${ant.file}"
239 property="component.dir" />
david_williams403beae2007-12-09 02:10:40 +0000240 <echo
241 level="debug"
242 message="ant.file: ${ant.file}" />
243 <echo
244 level="debug"
245 message="component.dir: ${component.dir}" />
david_williams5d9c9862007-11-19 04:42:55 +0000246
david_williamsd913e922006-11-13 07:24:21 +0000247 <ant
248 antfile="${component.dir}/dependency.xml"
249 target="get">
250 <property
251 name="dependency.properties"
david_williams771c0a12007-11-17 02:19:01 +0000252 value="${buildDirectory}/maps/${env.RELENG}/maps/dependencies.properties" />
david_williamsd913e922006-11-13 07:24:21 +0000253 <property
254 name="base.install.dir"
255 value="${buildRoot}" />
256 </ant>
257 </target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000258
david_williamsd913e922006-11-13 07:24:21 +0000259 <!-- ===================================================================== -->
260 <!-- Steps to do before fetching the build elements -->
261 <!-- ===================================================================== -->
262 <target name="preFetch"></target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000263
david_williamsd913e922006-11-13 07:24:21 +0000264 <!-- ===================================================================== -->
265 <!-- Steps to do after fetching the build elements -->
266 <!-- ===================================================================== -->
267 <target name="postFetch"></target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000268
david_williamsd913e922006-11-13 07:24:21 +0000269 <!-- ===================================================================== -->
270 <!-- Steps to do before generating the build scripts. -->
271 <!-- ===================================================================== -->
david_williams5b401202007-06-07 23:49:38 +0000272 <target name="postGenerate">
273 <customizeAccessRules
274 bundleDirectory="${buildDirectory}/plugins"
275 defaultRules="+org/eclipse/wst/**/*, +org/eclipse/jst/**/*" />
276 </target>
david_williamsd913e922006-11-13 07:24:21 +0000277 <!-- ===================================================================== -->
278 <!-- Steps to do after generating the build scripts. -->
279 <!-- ===================================================================== -->
david_williams0b74c592007-04-09 06:11:35 +0000280 <target name="preGenerate"></target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000281
282
david_williamsd913e922006-11-13 07:24:21 +0000283 <!-- ===================================================================== -->
284 <!-- Steps to do before running the build.xmls for the elements being built. -->
285 <!-- ===================================================================== -->
286 <target name="preProcess">
287 <replace
288 dir="${buildDirectory}/plugins"
289 value="${timestamp}"
290 token="@build@">
291 <include name="**/about.mappings" />
292 </replace>
293 </target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000294
david_williamsd913e922006-11-13 07:24:21 +0000295 <!-- ===================================================================== -->
296 <!-- Steps to do after running the build.xmls for the elements being built. -->
297 <!-- ===================================================================== -->
298 <target name="postProcess">
299 <condition property="logsAvailable">
300 <istrue value="${javacVerbose}" />
301 </condition>
david_williams5b401202007-06-07 23:49:38 +0000302 <antcall target="gatherLogs" />
david_williamsd913e922006-11-13 07:24:21 +0000303 </target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000304
305
david_williamsd913e922006-11-13 07:24:21 +0000306 <!-- ===================================================================== -->
307 <!-- Steps to do before running assemble. -->
308 <!-- ===================================================================== -->
309 <target name="preAssemble"></target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000310
david_williamsd913e922006-11-13 07:24:21 +0000311 <!-- ===================================================================== -->
312 <!-- Steps to do after running assemble. -->
313 <!-- ===================================================================== -->
314 <target name="postAssemble"></target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000315
david_williamsd913e922006-11-13 07:24:21 +0000316 <!-- ===================================================================== -->
317 <!-- Steps to do after the build is done. -->
318 <!-- ===================================================================== -->
319 <target name="postBuild"></target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000320
321
david_williamsd913e922006-11-13 07:24:21 +0000322 <target
323 name="getEclipseWindows"
324 unless="eclipsefilewin.exists">
325 <get
326 src="${eclipseURL.win32}"
327 dest="${localDownloads}/${eclipseFile.win32}" />
328 </target>
david_williams3696f6f2005-12-30 07:59:43 +0000329
david_williamsd913e922006-11-13 07:24:21 +0000330 <!-- ===================================================================== -->
331 <!-- Steps to do to test the build results -->
332 <!-- ===================================================================== -->
333 <target name="test"></target>
david_williams3696f6f2005-12-30 07:59:43 +0000334
david_williamsd913e922006-11-13 07:24:21 +0000335 <!-- ===================================================================== -->
336 <!-- Steps to do to publish the build results -->
337 <!-- ===================================================================== -->
338 <target name="publish"></target>
david_williams3696f6f2005-12-30 07:59:43 +0000339
david_williamsd913e922006-11-13 07:24:21 +0000340 <!-- ===================================================================== -->
341 <!-- Helper targets -->
342 <!-- ===================================================================== -->
343 <target
344 name="gatherLogs"
345 if="logsAvailable">
346 <mkdir dir="${buildDirectory}/${buildLabel}/compilelogs" />
david_williams403beae2007-12-09 02:10:40 +0000347 <echo
348 level="debug"
349 message="logExtension: ${logExtension}" />
david_williamsd913e922006-11-13 07:24:21 +0000350 <antcall target="allElements">
351 <param
352 name="target"
353 value="gatherLogs" />
354 </antcall>
david_williamsd913e922006-11-13 07:24:21 +0000355 <unzip
356 dest="${buildDirectory}/${buildLabel}/compilelogs"
357 overwrite="true">
358 <fileset dir="${buildDirectory}/features/org.eclipse.jst">
359 <include name="**/*.log.zip" />
360 </fileset>
361 </unzip>
david_williams0b74c592007-04-09 06:11:35 +0000362
363
364
365
366
367
david_williamsfa8809c2007-02-24 00:15:31 +0000368 <!-- workaround: see https://bugs.eclipse.org/bugs/show_bug.cgi?id=156043 -->
369 <!-- and https://bugs.eclipse.org/bugs/show_bug.cgi?id=172361 -->
370 <copy
371 todir="${buildDirectory}/${buildLabel}/compilelogs"
372 overwrite="true">
373 <fileset
374 dir="${buildDirectory}/features/org.eclipse.jst.enterprise_ui.feature/feature.temp.folder" />
375 </copy>
376
377 <copy
378 todir="${buildDirectory}/${buildLabel}/compilelogs"
379 overwrite="true">
380 <fileset
381 dir="${buildDirectory}/features/org.eclipse.jst.server_ui.feature/feature.temp.folder" />
382 </copy>
383
384 <copy
385 todir="${buildDirectory}/${buildLabel}/compilelogs"
386 overwrite="true">
387 <fileset
david_williamse450be72007-02-24 01:58:16 +0000388 dir="${buildDirectory}/features/org.eclipse.jst.web_ui.feature/feature.temp.folder" />
david_williamsfa8809c2007-02-24 00:15:31 +0000389 </copy>
390
david_williams0b74c592007-04-09 06:11:35 +0000391
392
david_williamsd913e922006-11-13 07:24:21 +0000393 </target>
david_williams3696f6f2005-12-30 07:59:43 +0000394
david_williamsd913e922006-11-13 07:24:21 +0000395 <target
396 name="clean"
397 unless="noclean">
398 <antcall target="allElements">
399 <param
400 name="target"
401 value="cleanElement" />
402 </antcall>
403 </target>
david_williams3696f6f2005-12-30 07:59:43 +0000404
david_williamsd913e922006-11-13 07:24:21 +0000405 <!-- ===================================================================== -->
406 <!-- Default target -->
407 <!-- ===================================================================== -->
408 <target name="noDefault">
david_williams403beae2007-12-09 02:10:40 +0000409 <echo
410 level="error"
david_williams5b401202007-06-07 23:49:38 +0000411 message="You must specify a target when invoking this file" />
david_williamsd913e922006-11-13 07:24:21 +0000412 </target>
ndaib8cedc82005-09-13 18:00:32 +0000413
david_williams403beae2007-12-09 02:10:40 +0000414 <target name="check.useLocalMaps">
415 <condition property="useLocalMaps">
416 <equals
417 arg1="${env.USE_LOCAL_MAPS}"
418 arg2="true" />
419 </condition>
david_williams5bc53f12007-11-19 05:17:01 +0000420 </target>
david_williams5d9c9862007-11-19 04:42:55 +0000421
ndaib8cedc82005-09-13 18:00:32 +0000422</project>