blob: 6f09650ae86aa072e26fcbed8dedf86aa0e86668 [file] [log] [blame]
david_williams5ceb14e2010-03-17 04:30:37 +00001<project
2 name="PDECustomTargets"
3 default="noDefault"
4 basedir=".">
5 <property
6 name="buildfeature"
7 value="org.eclipse.wtp.patch.assembly.feature"/>
8 <!--
9 = = = standard properties pattern = = = Note to be
10 cross-platform, "environment variables" are only appropriate for
11 some variables, e.g. ones we set, since properties are case
12 sensitive, even if the environment variables on your operating
13 system are not, e.g. it will be ${env.Path} not ${env.PATH} on
14 Windows
15 -->
16 <property
17 environment="env"/>
18 <!--
19 Let users override standard properties, if desired. If
20 directory, file, or some properties do not exist, then standard
21 properties will be used.
22 -->
23 <property
24 file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties"/>
25
26 <!-- let this project specify properties, if not already set -->
27 <property
28 file="build.properties"/>
29 <fail
30 message="dependency.properties must be specified by distribution script"
31 unless="dependency.properties"/>
32 <fail
33 unless="buildDirectory"
34 message="buildDirectory must be set"/>
35 <echo
36 message="buildDirectory: ${buildDirectory}"/>
david_williams212b3822010-03-31 05:58:27 +000037
david_williams9e6b5922010-03-31 06:34:44 +000038<!--
david_williams212b3822010-03-31 05:58:27 +000039 <property
40 name="p2.build.repo"
david_williams7744edb2010-03-31 06:23:59 +000041 value="${buildDirectory}/${buildLabel}/${component}/repository/" />
david_williams44ec1e12010-03-31 06:16:38 +000042 <mkdir dir="${p2.build.repo}"/>
david_williamscf6a3452010-03-31 06:35:34 +000043 -->
david_williams212b3822010-03-31 05:58:27 +000044 <echo
45 message="p2.build.repo: ${p2.build.repo}" />
david_williamscf6a3452010-03-31 06:35:34 +000046
david_williams5ceb14e2010-03-17 04:30:37 +000047 <!--
48 Run a given ${target} on all elements being built Add on <ant>
49 task for each top level element being built.
50 -->
51 <target
52 name="allElements">
53 <echo
54 level="info"
david_williams243440a2010-03-17 05:54:30 +000055 message="target: ${target} "/>
david_williams5ceb14e2010-03-17 04:30:37 +000056 <echo
david_williams243440a2010-03-17 05:54:30 +000057 level="info"
david_williams5ceb14e2010-03-17 04:30:37 +000058 message="basedir: ${basedir}"/>
59 <echo
60 level="info"
61 message="component: ${component}"/>
62 <echo
david_williamsb4301692010-03-17 05:37:39 +000063 level="info"
david_williams5ceb14e2010-03-17 04:30:37 +000064 message="buildDirectory: ${buildDirectory}"/>
65 <echo
david_williams243440a2010-03-17 05:54:30 +000066 level="info"
david_williams5ceb14e2010-03-17 04:30:37 +000067 message="baseLocation: ${baseLocation}"/>
68 <echo
david_williams243440a2010-03-17 05:54:30 +000069 level="info"
david_williams5ceb14e2010-03-17 04:30:37 +000070 message="generic target: ${genericTargets}"/>
71 <echo
david_williams243440a2010-03-17 05:54:30 +000072 level="info"
david_williams212b3822010-03-31 05:58:27 +000073 message="buildfeature: ${buildfeature}"/>
david_williamsb4301692010-03-17 05:37:39 +000074 <echo
david_williams5ceb14e2010-03-17 04:30:37 +000075 message="compilerArg: ${compilerArg}"/>
76 <echo
77 message="individualSourceBundles: ${individualSourceBundles}"/>
78 <ant
79 antfile="${genericTargets}"
80 target="${target}">
81 <property
82 name="type"
83 value="feature"/>
84 <property
85 name="id"
86 value="${buildfeature}"/>
87 </ant>
88 </target>
89 <!--
90 Targets to assemble the built elements for particular
91 configurations These generally call the generated assemble
92 scripts (named in ${assembleScriptName}) but may also add pre
93 and post processing Add one target for each root element and
94 each configuration
95 -->
david_williams05c86602010-03-31 04:31:07 +000096
97 <target
98 name="assemble.org.eclipse.wtp.patch.assembly.feature.p2">
david_williams30206d22010-03-31 06:49:04 +000099 <echo message="running in p2 assembly: ${assembleScriptName}" />
100
101 <property
david_williamsb8d1d602010-03-31 04:51:59 +0000102 name="archiveName"
103 value="wtp-${buildLabel}.zip"/>
david_williamsa82966c2010-03-31 05:42:30 +0000104
david_williamsb8d1d602010-03-31 04:51:59 +0000105 <ant
106 antfile="${assembleScriptName}"
107 dir="${buildDirectory}"/>
david_williams05c86602010-03-31 04:31:07 +0000108 </target>
david_williamsa5733822010-03-31 04:40:38 +0000109
110 <target
111 name="assemble.org.eclipse.wtp.patch.assembly.feature.group.group.group">
112
david_williamsa82966c2010-03-31 05:42:30 +0000113
114 <echo message="running in group.group.group assembly: ${assembleScriptName}" />
david_williams30206d22010-03-31 06:49:04 +0000115 <property
116 name="archiveName"
117 value="wtp-${buildLabel}.zip"/>
118
119 <ant
120 antfile="${assembleScriptName}"
121 dir="${buildDirectory}"/>
david_williamsa82966c2010-03-31 05:42:30 +0000122
david_williamsa5733822010-03-31 04:40:38 +0000123 </target>
124
david_williams5ceb14e2010-03-17 04:30:37 +0000125 <target
126 name="assemble.org.eclipse.wtp.patch.assembly.feature">
127 <property
128 name="archiveName"
129 value="wtp-${buildLabel}.zip"/>
130 <ant
131 antfile="${assembleScriptName}"
132 dir="${buildDirectory}"/>
133 </target>
134 <target
135 name="prePackage"/>
136 <target
137 name="postPackage">
138 <property
139 name="archiveName"
140 value="wtp-${buildLabel}.zip"/>
david_williams51373cf2010-03-31 04:59:50 +0000141 <!--
david_williams5ceb14e2010-03-17 04:30:37 +0000142 <ant
143 antfile="${wtp.builder.home}/scripts/build/buildutilities.xml"
144 target="unpackUpdateJarsAndCreateZippedPackages">
145 <property
146 name="buildDirectory"
147 value="${buildDirectory}"/>
148 <property
149 name="buildLabel"
150 value="${buildLabel}"/>
151 <property
152 name="archiveName"
153 value="${archiveName}"/>
154 </ant>
david_williams51373cf2010-03-31 04:59:50 +0000155 -->
david_williams5ceb14e2010-03-17 04:30:37 +0000156 </target>
157
158
159 <!--
160 Check out map files from repository
161 -->
162 <target
163 name="getMapFiles">
164
165 <!-- for now, get all, at once. May componetize later. -->
166 <ant
167 antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
168 target="fetchAllMaps"/>
169 </target>
170
171
172 <!--
173 Steps to do before setup
174 -->
175 <target
176 name="preSetup"></target>
177 <!--
178 Steps to do after setup but before starting the build proper
179 -->
180 <target
181 name="postSetup">
182 <dirname
183 file="${ant.file}"
184 property="component.dir"/>
185 <echo
186 level="debug"
187 message="ant.file: ${ant.file}"/>
188 <echo
189 level="debug"
190 message="component.dir: ${component.dir}"/>
191
192 <!-- Get the dependencies -->
193 <antcall
194 target="getDependencies"/>
195 </target>
196 <!--
197 =====================================================================
198 -->
199 <!-- Get the dependencies based on releng maps -->
200 <!--
201 =====================================================================
202 -->
203 <target
204 name="getDependencies">
205 <ant
206 antfile="${component.dir}/dependency.xml"
207 target="get">
208 <property
209 name="base.install.dir"
210 value="${buildRoot}"/>
211 </ant>
212 </target>
213
214 <!--
215 Steps to do before fetching the build elements
216 -->
217 <target
218 name="preFetch"></target>
219
220 <!--
221 Steps to do after fetching the build elements
222 -->
223 <target
224 name="postFetch"></target>
225
226 <!--
227 Steps to do before generating the build scripts.
228 -->
229 <target
230 name="preGenerate"></target>
231
232 <!--
233 Steps to do after generating the build scripts.
234 -->
235 <target
236 name="postGenerate">
237 <echo
238 message="buildDirectory: ${buildDirectory}"/>
239 <customizeAccessRules
240 bundleDirectory="${buildDirectory}/plugins"
241 defaultRules="+org/eclipse/wst/**/*, +org/eclipse/jst/**/*"/>
242 </target>
243 <!--
244 Steps to do before running the build.xmls for the elements being
245 built.
246 -->
247 <target
248 name="preProcess">
249 <replace
250 dir="${buildDirectory}/plugins"
251 value="${timestamp}"
252 token="@build@">
253 <include
254 name="**/about.mappings"/>
255 </replace>
256 </target>
257 <!--
258 Steps to do after running the build.xmls for the elements being
259 built.
260 -->
261 <target
262 name="postProcess">
263 <condition
264 property="logsAvailable">
265 <istrue
266 value="${javacVerbose}"/>
267 </condition>
268 <antcall
269 target="gatherLogs"/>
270 </target>
271 <!--
272 Steps to do before running assemble. Note: in version 2.0 (and
273 previous) we need to build the explorer war file by invoking
274 script. In 3.0 forward, we do not, so this simple existence
275 check allows us to use the same script for both streams
276 -->
277 <property
278 name="buildwarfilename"
279 value="${buildDirectory}/plugins/org.eclipse.wst.ws.explorer/build-war.xml"/>
280 <target
281 name="preAssemble"
282 depends="buildwar">
283 </target>
284 <target
285 name="checkForBuildFile">
286 <condition
287 property="buildFileExists">
288 <available
289 file="${buildwarfilename}"/>
290 </condition>
291 </target>
292 <target
293 name="buildwar"
294 depends="checkForBuildFile"
295 if="buildFileExists">
296 <ant
297 antfile="${buildwarfilename}">
298 <property
299 name="baseLocation"
300 value="${baseLocation}"/>
301 <property
302 name="basedir"
303 value="${buildDirectory}/plugins/org.eclipse.wst.ws.explorer"/>
304 <property
305 name="buildDirectory"
306 value="${buildDirectory}"/>
307 </ant>
308 </target>
309
310 <!--
311 Steps to do after running assemble.
312 -->
313 <target
314 name="postAssemble"></target>
315
316 <!--
317 Steps to do after the build is done.
318 -->
319 <target
320 name="postBuild"></target>
321
322 <!--
323 Steps to do to test the build results
324 -->
325 <target
326 name="test"></target>
327
328 <!--
329 Steps to do to publish the build results
330 -->
331 <target
332 name="publish"></target>
333
334 <!--
335 Helper targets
336 -->
337 <target
338 name="gatherLogs"
339 if="logsAvailable">
340 <mkdir
341 dir="${buildDirectory}/${buildLabel}/compilelogs"/>
342 <echo
343 level="debug"
344 message="logExtension: ${logExtension}"/>
345 <antcall
346 target="allElements">
347 <param
348 name="target"
349 value="gatherLogs"/>
350 <param
351 name="logExtension"
352 value="${logExtension}"/>
353 </antcall>
354 <unzip
355 dest="${buildDirectory}/${buildLabel}/compilelogs"
356 overwrite="true">
357 <fileset
358 dir="${buildDirectory}/features/${buildfeature}">
359 <include
360 name="**/*.log.zip"/>
361 </fileset>
362 </unzip>
david_williams5ceb14e2010-03-17 04:30:37 +0000363 </target>
364 <target
365 name="clean"
366 unless="noclean">
367 <antcall
368 target="allElements">
369 <param
370 name="target"
371 value="cleanElement"/>
372 </antcall>
373 </target>
374
375 <!--
376 Default target
377 -->
378 <target
379 name="noDefault">
380 <echo
381 level="error"
382 message="You must specify a target when invoking this file"/>
383 </target>
384</project>