blob: e7ac981e8190015eb1d976926d7cf49fd62c26c7 [file] [log] [blame]
david_williamsa3e48362007-08-22 04:21:50 +00001<project
david_williams26f83182007-12-09 06:56:43 +00002 name="PDECustomTargets"
3 default="noDefault"
4 basedir=".">
david_williamsa76816d2006-12-11 20:10:22 +00005
david_williams26f83182007-12-09 06:56:43 +00006 <property
7 name="patchFeature"
8 value="org.eclipse.wtp.patch.assembly.feature" />
david_williamsa3e48362007-08-22 04:21:50 +00009
david_williams886167e2007-12-13 04:42:37 +000010
11 <!-- = = = standard properties pattern = = = -->
12
13 <!--
14 Note to be cross-platform, "environment variables" are only appropriate for
15 some variables, e.g. ones we set, since properties are case sensitive, even if
16 the environment variables on your operating system are not, e.g. it will
17 be ${env.Path} not ${env.PATH} on Windows -->
18 <property environment="env" />
19
20 <!--
21 Let users override standard properties, if desired.
22 If directory, file, or some properties do not exist,
23 then standard properties will be used.
24 -->
25 <property
26 file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties" />
27
28 <!-- let this project specify properties, if not already set -->
29 <property file="build.properties" />
30
david_williamsa3e48362007-08-22 04:21:50 +000031
david_williams842e4192007-12-09 07:44:35 +000032 <property
33 name="cvsProtocol"
34 value="${env.WTP_CVS_PROTOCOL}" />
35 <property
36 name="cvsUser"
37 value="${env.WTP_CVS_USER}" />
38 <property
39 name="cvsServer"
40 value="${env.WTP_CVS_SERVER}" />
41 <property
42 name="cvsRoot"
43 value="${env.WTP_CVS_ROOT}" />
44
david_williamsa76816d2006-12-11 20:10:22 +000045 <!-- ===================================================================== -->
46 <!-- Run a given ${target} on all elements being built -->
47 <!-- Add on <ant> task for each top level element being built. -->
48 <!-- ===================================================================== -->
49 <target name="allElements">
david_williams403beae2007-12-09 02:10:40 +000050 <echo
51 level="info"
52 message="Target:${target} " />
53 <echo
54 level="debug"
55 message="basedir: ${basedir}" />
56 <echo
57 level="debug"
58 message="component: ${component}" />
59 <echo
60 level="debug"
61 message="buildDirectory: ${buildDirectory}" />
62 <echo
63 level="debug"
64 message="baseLocation: ${baseLocation}" />
65 <echo
66 level="debug"
67 message="patchFeature: ${patchFeature}" />
david_williamsa3e48362007-08-22 04:21:50 +000068 <ant
69 antfile="${genericTargets}"
70 target="${target}">
71 <property
72 name="type"
73 value="feature" />
74 <property
75 name="id"
76 value="${patchFeature}" />
david_williamsa76816d2006-12-11 20:10:22 +000077 </ant>
78 </target>
david_williams403beae2007-12-09 02:10:40 +000079
david_williamsa76816d2006-12-11 20:10:22 +000080
81 <!-- ===================================================================== -->
82 <!-- Targets to assemble the built elements for particular configurations -->
83 <!-- These generally call the generated assemble scripts (named in -->
84 <!-- ${assembleScriptName}) but may also add pre and post processing -->
85 <!-- Add one target for each root element and each configuration -->
86 <!-- ===================================================================== -->
87
david_williams35915692007-10-05 06:18:08 +000088 <target name="assemble.org.eclipse.wtp.patch.assembly.feature">
david_williamsa3e48362007-08-22 04:21:50 +000089 <property
90 name="archiveName"
91 value="wtp-${buildLabel}.zip" />
92 <ant
93 antfile="${assembleScriptName}"
94 dir="${buildDirectory}" />
david_williamsa76816d2006-12-11 20:10:22 +000095
96 </target>
97
98 <target name="prePackage" />
99
100 <target name="postPackage">
david_williamsa3e48362007-08-22 04:21:50 +0000101 <property
102 name="archiveName"
103 value="wtp-${buildLabel}.zip" />
david_williamsa76816d2006-12-11 20:10:22 +0000104
david_williamsa3e48362007-08-22 04:21:50 +0000105 <ant
106 antfile="${wtp.builder.home}/scripts/build/buildutilities.xml"
107 target="unpackUpdateJarsAndCreateZippedPackages">
108 <property
109 name="buildDirectory"
110 value="${buildDirectory}" />
111 <property
112 name="buildLabel"
113 value="${buildLabel}" />
114 <property
115 name="archiveName"
116 value="${archiveName}" />
117 </ant>
118
119
david_williamsa76816d2006-12-11 20:10:22 +0000120 </target>
121
david_williamsa3e48362007-08-22 04:21:50 +0000122
123
david_williamsa76816d2006-12-11 20:10:22 +0000124 <!-- ===================================================================== -->
125 <!-- Check out map files from correct repository -->
126 <!-- Replace values for cvsRoot, package and mapVersionTag as desired. -->
127 <!-- ===================================================================== -->
david_williams403beae2007-12-09 02:10:40 +0000128 <target
129 name="checkLocal"
130 depends="check.useLocalMaps"
131 if="useLocalMaps">
david_williamsa3e48362007-08-22 04:21:50 +0000132 <available
133 property="mapsLocal"
david_williams34163522007-11-18 00:18:20 +0000134 file="${buildDirectory}/maps/${env.RELENG}" />
david_williamsa76816d2006-12-11 20:10:22 +0000135 </target>
david_williamsa3e48362007-08-22 04:21:50 +0000136 <target
137 name="getMapFiles"
138 depends="checkLocal"
139 unless="mapsLocal">
david_williamsa76816d2006-12-11 20:10:22 +0000140
141 <!-- *** change the repo info -->
david_williamsa3e48362007-08-22 04:21:50 +0000142 <property
143 name="mapCvsRoot"
144 value=":${cvsProtocol}:${cvsUser}@${cvsServer}:${cvsRoot}" />
david_williams403beae2007-12-09 02:10:40 +0000145
david_williams5d9c9862007-11-19 04:42:55 +0000146 <!-- if not otherwise set, assume HEAD -->
david_williamsa3e48362007-08-22 04:21:50 +0000147 <property
148 name="mapVersionTag"
149 value="HEAD" />
david_williams5d9c9862007-11-19 04:42:55 +0000150
151
152
153
david_williams403beae2007-12-09 02:10:40 +0000154
david_williams5d9c9862007-11-19 04:42:55 +0000155 <property
156 name="cvsPackage"
157 value="${env.RELENGMAPS}" />
david_williams403beae2007-12-09 02:10:40 +0000158 <echo
159 level="debug"
160 message="${mapCvsRoot} ${mapVersionTag} " />
161 <echo
162 level="debug"
163 message="cvsPackage = ${cvsPackage} " />
david_williamsa3e48362007-08-22 04:21:50 +0000164 <cvs
165 cvsRoot="${mapCvsRoot}"
david_williams5d9c9862007-11-19 04:42:55 +0000166 package="${cvsPackage}"
david_williamsa3e48362007-08-22 04:21:50 +0000167 dest="${buildDirectory}/maps"
168 tag="${mapVersionTag}"
169 quiet="${env.CVS_QUIET}"
170 reallyquiet="${env.CVS_REALLY_QUIET}" />
david_williams403beae2007-12-09 02:10:40 +0000171 <!--
172 <cvs
173 cvsRoot="${mapCvsRoot}"
174 package="${env.RELENGMAPS}"
175 dest="${buildDirectory}/maps"
176 tag="${mapVersionTag}"
177 quiet="${env.CVS_QUIET}"
178 reallyquiet="${env.CVS_REALLY_QUIET}" />
179 -->
david_williamsa76816d2006-12-11 20:10:22 +0000180 <!--tag the map files project-->
181 <antcall target="tagMapFiles">
david_williamsa3e48362007-08-22 04:21:50 +0000182 <param
183 name="mapCvsRoot"
184 value="${mapCvsRoot}" />
david_williamsa76816d2006-12-11 20:10:22 +0000185 </antcall>
david_williams403beae2007-12-09 02:10:40 +0000186
187 <!-- copy all maps to the same place. Be sure to copy only "maps", as there may be "dependancies" etc,
188 that could be out of date -->
189 <!-- turns out this "one flat directory" appears not needed!
190 <copy todir="${buildDirectory}/maps/${env.RELENG}/maps" flatten="true">
191 <fileset dir="${buildDirectory}/maps/">
192 <include name="**/*.map" />
193 </fileset>
194 </copy>
195 -->
david_williamsa76816d2006-12-11 20:10:22 +0000196 </target>
197
david_williamsa3e48362007-08-22 04:21:50 +0000198 <target
199 name="tagMapFiles"
200 if="tagMaps">
201 <cvs
202 cvsRoot="${mapCvsRoot}"
203 dest="${buildDirectory}/maps"
204 command="tag v${buildType}${timestamp}"
205 quiet="${env.CVS_QUIET}"
206 reallyquiet="${env.CVS_REALLY_QUIET}" />
david_williamsa76816d2006-12-11 20:10:22 +0000207 </target>
208
209
210 <!-- ===================================================================== -->
211 <!-- Steps to do before setup -->
212 <!-- ===================================================================== -->
david_williamsa3e48362007-08-22 04:21:50 +0000213 <target name="preSetup"></target>
david_williamsa76816d2006-12-11 20:10:22 +0000214
215 <!-- ===================================================================== -->
216 <!-- Steps to do after setup but before starting the build proper -->
217 <!-- ===================================================================== -->
218 <target name="postSetup">
david_williamsa3e48362007-08-22 04:21:50 +0000219 <dirname
220 file="${ant.file}"
221 property="component.dir" />
david_williams403beae2007-12-09 02:10:40 +0000222 <echo
223 level="debug"
224 message="ant.file: ${ant.file}" />
225 <echo
226 level="debug"
227 message="component.dir: ${component.dir}" />
david_williams5d9c9862007-11-19 04:42:55 +0000228
david_williamsa3e48362007-08-22 04:21:50 +0000229 <ant
230 antfile="${component.dir}/dependency.xml"
231 target="get">
232 <property
233 name="dependency.properties"
david_williams771c0a12007-11-17 02:19:01 +0000234 value="${buildDirectory}/maps/${env.RELENG}/maps/dependencies.properties" />
david_williamsa3e48362007-08-22 04:21:50 +0000235 <property
236 name="base.install.dir"
237 value="${buildRoot}" />
david_williamsa76816d2006-12-11 20:10:22 +0000238 </ant>
david_williams403beae2007-12-09 02:10:40 +0000239
david_williamsa76816d2006-12-11 20:10:22 +0000240 </target>
241
242 <!-- ===================================================================== -->
243 <!-- Steps to do before fetching the build elements -->
244 <!-- ===================================================================== -->
david_williamsa3e48362007-08-22 04:21:50 +0000245 <target name="preFetch"></target>
david_williamsa76816d2006-12-11 20:10:22 +0000246
247 <!-- ===================================================================== -->
248 <!-- Steps to do after fetching the build elements -->
249 <!-- ===================================================================== -->
david_williamsa3e48362007-08-22 04:21:50 +0000250 <target name="postFetch"></target>
david_williamsa76816d2006-12-11 20:10:22 +0000251
252 <!-- ===================================================================== -->
253 <!-- Steps to do before generating the build scripts. -->
254 <!-- ===================================================================== -->
david_williamsa3e48362007-08-22 04:21:50 +0000255 <target name="preGenerate"></target>
david_williamsa76816d2006-12-11 20:10:22 +0000256
257 <!-- ===================================================================== -->
258 <!-- Steps to do after generating the build scripts. -->
259 <!-- ===================================================================== -->
david_williamsa3e48362007-08-22 04:21:50 +0000260 <target name="postGenerate"></target>
david_williamsa76816d2006-12-11 20:10:22 +0000261
262
263 <!-- ===================================================================== -->
264 <!-- Steps to do before running the build.xmls for the elements being built. -->
265 <!-- ===================================================================== -->
266 <target name="preProcess">
david_williamsa3e48362007-08-22 04:21:50 +0000267 <replace
268 dir="${buildDirectory}/plugins"
269 value="${timestamp}"
270 token="@build@">
david_williamsa76816d2006-12-11 20:10:22 +0000271 <include name="**/about.mappings" />
272 </replace>
273 </target>
274
275 <!-- ===================================================================== -->
276 <!-- Steps to do after running the build.xmls for the elements being built. -->
277 <!-- ===================================================================== -->
278 <target name="postProcess">
279 <condition property="logsAvailable">
280 <istrue value="${javacVerbose}" />
281 </condition>
282 <antcall target="gatherLogs" />
283 </target>
284
285
286 <!-- ===================================================================== -->
287 <!-- Steps to do before running assemble. -->
288 <!-- ===================================================================== -->
david_williamsa3e48362007-08-22 04:21:50 +0000289 <target name="preAssemble"></target>
david_williamsa76816d2006-12-11 20:10:22 +0000290
291 <!-- ===================================================================== -->
292 <!-- Steps to do after running assemble. -->
293 <!-- ===================================================================== -->
david_williamsa3e48362007-08-22 04:21:50 +0000294 <target name="postAssemble"></target>
david_williamsa76816d2006-12-11 20:10:22 +0000295
296 <!-- ===================================================================== -->
297 <!-- Steps to do after the build is done. -->
298 <!-- ===================================================================== -->
david_williamsa3e48362007-08-22 04:21:50 +0000299 <target name="postBuild"></target>
david_williamsa76816d2006-12-11 20:10:22 +0000300
301 <!-- ===================================================================== -->
302 <!-- Steps to do to test the build results -->
303 <!-- ===================================================================== -->
david_williamsa3e48362007-08-22 04:21:50 +0000304 <target name="test"></target>
david_williamsa76816d2006-12-11 20:10:22 +0000305
306 <!-- ===================================================================== -->
307 <!-- Steps to do to publish the build results -->
308 <!-- ===================================================================== -->
david_williamsa3e48362007-08-22 04:21:50 +0000309 <target name="publish"></target>
david_williamsa76816d2006-12-11 20:10:22 +0000310
311
312 <!-- ===================================================================== -->
313 <!-- Helper targets -->
314 <!-- ===================================================================== -->
david_williamsa3e48362007-08-22 04:21:50 +0000315 <target
316 name="gatherLogs"
317 if="logsAvailable">
david_williamsa76816d2006-12-11 20:10:22 +0000318 <mkdir dir="${buildDirectory}/${buildLabel}/compilelogs" />
david_williams403beae2007-12-09 02:10:40 +0000319 <echo
320 level="debug"
321 message="logExtension: ${logExtension}" />
david_williamsa76816d2006-12-11 20:10:22 +0000322 <antcall target="allElements">
david_williamsa3e48362007-08-22 04:21:50 +0000323 <param
324 name="target"
325 value="gatherLogs" />
david_williams803b3cd2007-12-13 07:37:16 +0000326 <param
327 name="logExtension"
328 value="${logExtension}" />
329
david_williamsa76816d2006-12-11 20:10:22 +0000330 </antcall>
331
david_williamsa3e48362007-08-22 04:21:50 +0000332 <unzip
333 dest="${buildDirectory}/${buildLabel}/compilelogs"
334 overwrite="true">
david_williamsa76816d2006-12-11 20:10:22 +0000335 <fileset dir="${buildDirectory}/features/${patchFeature}">
336 <include name="**/*.log.zip" />
337 </fileset>
338 </unzip>
david_williamsa3e48362007-08-22 04:21:50 +0000339
david_williamsa76816d2006-12-11 20:10:22 +0000340 </target>
341
david_williamsa3e48362007-08-22 04:21:50 +0000342 <target
343 name="clean"
344 unless="noclean">
david_williamsa76816d2006-12-11 20:10:22 +0000345 <antcall target="allElements">
david_williamsa3e48362007-08-22 04:21:50 +0000346 <param
347 name="target"
348 value="cleanElement" />
david_williamsa76816d2006-12-11 20:10:22 +0000349 </antcall>
350 </target>
351
352 <!-- ===================================================================== -->
353 <!-- Default target -->
354 <!-- ===================================================================== -->
355 <target name="noDefault">
david_williams403beae2007-12-09 02:10:40 +0000356 <echo
357 level="error"
david_williamsa3e48362007-08-22 04:21:50 +0000358 message="You must specify a target when invoking this file" />
david_williamsa76816d2006-12-11 20:10:22 +0000359 </target>
360
david_williams403beae2007-12-09 02:10:40 +0000361 <target name="check.useLocalMaps">
362 <condition property="useLocalMaps">
363 <equals
364 arg1="${env.USE_LOCAL_MAPS}"
365 arg2="true" />
366 </condition>
367 </target>
368
david_williamsa76816d2006-12-11 20:10:22 +0000369</project>