blob: 6761d46f96128928ba10514440c8260e12dca3a0 [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=".">
david_williams19bd2d52009-11-14 09:02:42 +00005 <!--
6 = = = standard properties pattern = = = Note to be
7 cross-platform, "environment variables" are only appropriate for
8 some variables, e.g. ones we set, since properties are case
9 sensitive, even if the environment variables on your operating
10 system are not, e.g. it will be ${env.Path} not ${env.PATH} on
11 Windows
12 -->
13 <property
14 environment="env"/>
15 <!--
16 Let users override standard properties, if desired. If
17 directory, file, or some properties do not exist, then standard
18 properties will be used.
19 -->
20 <property
21 file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties"/>
david_williams403beae2007-12-09 02:10:40 +000022
david_williams19bd2d52009-11-14 09:02:42 +000023 <!-- let this project specify properties, if not already set -->
24 <property
25 file="build.properties"/>
26 <fail
27 message="dependency.properties must be specified by distribution script"
28 unless="dependency.properties"/>
david_williamsb641ce32008-07-01 03:36:40 +000029 <fail
30 unless="buildDirectory"
david_williams19bd2d52009-11-14 09:02:42 +000031 message="buildDirectory must be set"/>
32 <echo
33 message="buildDirectory: ${buildDirectory}"/>
34 <!--
35 Run a given ${target} on all elements being built Add on <ant>
36 task for each top level element being built.
david_williamsb641ce32008-07-01 03:36:40 +000037 -->
david_williams19bd2d52009-11-14 09:02:42 +000038 <target
39 name="allElements">
david_williams403beae2007-12-09 02:10:40 +000040 <echo
41 level="info"
david_williams19bd2d52009-11-14 09:02:42 +000042 message="Target:${target} "/>
david_williams403beae2007-12-09 02:10:40 +000043 <echo
44 level="debug"
david_williams19bd2d52009-11-14 09:02:42 +000045 message="basedir: ${basedir}"/>
david_williams403beae2007-12-09 02:10:40 +000046 <echo
david_williamsb641ce32008-07-01 03:36:40 +000047 level="info"
david_williams19bd2d52009-11-14 09:02:42 +000048 message="component: ${component}"/>
david_williams403beae2007-12-09 02:10:40 +000049 <echo
50 level="debug"
david_williams19bd2d52009-11-14 09:02:42 +000051 message="buildDirectory: ${buildDirectory}"/>
david_williams403beae2007-12-09 02:10:40 +000052 <echo
53 level="debug"
david_williams19bd2d52009-11-14 09:02:42 +000054 message="baseLocation: ${baseLocation}"/>
david_williams403beae2007-12-09 02:10:40 +000055 <echo
56 level="debug"
david_williams19bd2d52009-11-14 09:02:42 +000057 message="generic target: ${genericTargets}"/>
58 <echo
59 message="compilerArg: ${compilerArg}"/>
60 <echo
61 message="individualSourceBundles: ${individualSourceBundles}"/>
david_williamsd913e922006-11-13 07:24:21 +000062 <ant
63 antfile="${genericTargets}"
64 target="${target}">
65 <property
66 name="type"
david_williams19bd2d52009-11-14 09:02:42 +000067 value="feature"/>
david_williamsd913e922006-11-13 07:24:21 +000068 <property
69 name="id"
david_williams19bd2d52009-11-14 09:02:42 +000070 value="org.eclipse.jst"/>
david_williamsd913e922006-11-13 07:24:21 +000071 </ant>
72 </target>
david_williams19bd2d52009-11-14 09:02:42 +000073 <!--
74 Targets to assemble the built elements for particular
75 configurations These generally call the generated assemble
76 scripts (named in ${assembleScriptName}) but may also add pre
77 and post processing Add one target for each root element and
78 each configuration
david_williamsb641ce32008-07-01 03:36:40 +000079 -->
david_williams19bd2d52009-11-14 09:02:42 +000080 <target
81 name="assemble.org.eclipse.jst">
david_williamsd913e922006-11-13 07:24:21 +000082 <property
83 name="archiveName"
david_williams19bd2d52009-11-14 09:02:42 +000084 value="wtp-jst-${buildLabel}.zip"/>
david_williamsd913e922006-11-13 07:24:21 +000085 <ant
86 antfile="${assembleScriptName}"
david_williams19bd2d52009-11-14 09:02:42 +000087 dir="${buildDirectory}"/>
david_williamsd913e922006-11-13 07:24:21 +000088 </target>
david_williams19bd2d52009-11-14 09:02:42 +000089 <target
90 name="prePackage"/>
91 <target
92 name="postPackage">
david_williamsd913e922006-11-13 07:24:21 +000093 <property
94 name="archiveName"
david_williams19bd2d52009-11-14 09:02:42 +000095 value="wtp-jst-${buildLabel}.zip"/>
david_williamsd913e922006-11-13 07:24:21 +000096 <ant
97 antfile="${wtp.builder.home}/scripts/build/buildutilities.xml"
98 target="unpackUpdateJarsAndCreateZippedPackages">
99 <property
100 name="buildDirectory"
david_williams19bd2d52009-11-14 09:02:42 +0000101 value="${buildDirectory}"/>
david_williamsd913e922006-11-13 07:24:21 +0000102 <property
103 name="buildLabel"
david_williams19bd2d52009-11-14 09:02:42 +0000104 value="${buildLabel}"/>
david_williamsd913e922006-11-13 07:24:21 +0000105 <property
106 name="archiveName"
david_williams19bd2d52009-11-14 09:02:42 +0000107 value="${archiveName}"/>
david_williamsd913e922006-11-13 07:24:21 +0000108 </ant>
david_williamsb641ce32008-07-01 03:36:40 +0000109 </target>
ndaib8cedc82005-09-13 18:00:32 +0000110
david_williamsb641ce32008-07-01 03:36:40 +0000111 <!--
112 Check out map files from repository
113 -->
david_williams19bd2d52009-11-14 09:02:42 +0000114 <target
115 name="getMapFiles">
david_williams3696f6f2005-12-30 07:59:43 +0000116
david_williamsb641ce32008-07-01 03:36:40 +0000117 <!-- for now, get all, at once. May componetize later. -->
david_williamsb641ce32008-07-01 03:36:40 +0000118 <ant
119 antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
david_williams19bd2d52009-11-14 09:02:42 +0000120 target="fetchAllMaps"/>
david_williamsd913e922006-11-13 07:24:21 +0000121 </target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000122
david_williamsa0aec8e2006-05-23 00:29:00 +0000123
david_williamsb641ce32008-07-01 03:36:40 +0000124 <!--
125 Steps to do before setup
126 -->
david_williams19bd2d52009-11-14 09:02:42 +0000127 <target
128 name="preSetup"></target>
david_williamsb641ce32008-07-01 03:36:40 +0000129 <!--
david_williams19bd2d52009-11-14 09:02:42 +0000130 Steps to do after setup but before starting the build proper
david_williamsb641ce32008-07-01 03:36:40 +0000131 -->
david_williams19bd2d52009-11-14 09:02:42 +0000132 <target
133 name="postSetup">
david_williamsd913e922006-11-13 07:24:21 +0000134 <dirname
135 file="${ant.file}"
david_williams19bd2d52009-11-14 09:02:42 +0000136 property="component.dir"/>
david_williams403beae2007-12-09 02:10:40 +0000137 <echo
138 level="debug"
david_williams19bd2d52009-11-14 09:02:42 +0000139 message="ant.file: ${ant.file}"/>
david_williams403beae2007-12-09 02:10:40 +0000140 <echo
141 level="debug"
david_williams19bd2d52009-11-14 09:02:42 +0000142 message="component.dir: ${component.dir}"/>
david_williams5d9c9862007-11-19 04:42:55 +0000143
david_williams82a6c642008-10-08 14:52:33 +0000144 <!-- Get the dependencies -->
david_williams19bd2d52009-11-14 09:02:42 +0000145 <antcall
146 target="getDependencies"/>
david_williams82a6c642008-10-08 14:52:33 +0000147 </target>
david_williams19bd2d52009-11-14 09:02:42 +0000148 <!--
149 =====================================================================
150 -->
david_williams82a6c642008-10-08 14:52:33 +0000151 <!-- Get the dependencies based on releng maps -->
david_williams19bd2d52009-11-14 09:02:42 +0000152 <!--
153 =====================================================================
154 -->
155 <target
156 name="getDependencies">
david_williamsd913e922006-11-13 07:24:21 +0000157 <ant
158 antfile="${component.dir}/dependency.xml"
159 target="get">
160 <property
david_williamsd913e922006-11-13 07:24:21 +0000161 name="base.install.dir"
david_williams19bd2d52009-11-14 09:02:42 +0000162 value="${buildRoot}"/>
david_williamsd913e922006-11-13 07:24:21 +0000163 </ant>
164 </target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000165
david_williamsb641ce32008-07-01 03:36:40 +0000166 <!--
167 Steps to do before fetching the build elements
168 -->
david_williams19bd2d52009-11-14 09:02:42 +0000169 <target
170 name="preFetch"></target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000171
david_williamsb641ce32008-07-01 03:36:40 +0000172 <!--
173 Steps to do after fetching the build elements
174 -->
david_williams19bd2d52009-11-14 09:02:42 +0000175 <target
176 name="postFetch"></target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000177
david_williamsb641ce32008-07-01 03:36:40 +0000178 <!--
179 Steps to do before generating the build scripts.
180 -->
david_williams19bd2d52009-11-14 09:02:42 +0000181 <target
182 name="preGenerate"></target>
183
david_williamsb641ce32008-07-01 03:36:40 +0000184 <!--
185 Steps to do after generating the build scripts.
186 -->
david_williams19bd2d52009-11-14 09:02:42 +0000187 <target
188 name="postGenerate">
189 <echo
190 message="buildDirectory: ${buildDirectory}"/>
david_williams5b401202007-06-07 23:49:38 +0000191 <customizeAccessRules
192 bundleDirectory="${buildDirectory}/plugins"
david_williams19bd2d52009-11-14 09:02:42 +0000193 defaultRules="+org/eclipse/wst/**/*, +org/eclipse/jst/**/*"/>
david_williams5b401202007-06-07 23:49:38 +0000194 </target>
david_williams19bd2d52009-11-14 09:02:42 +0000195 <!--
196 Steps to do before running the build.xmls for the elements being
197 built.
david_williamsb641ce32008-07-01 03:36:40 +0000198 -->
david_williams19bd2d52009-11-14 09:02:42 +0000199 <target
200 name="preProcess">
david_williamsd913e922006-11-13 07:24:21 +0000201 <replace
202 dir="${buildDirectory}/plugins"
203 value="${timestamp}"
204 token="@build@">
david_williams19bd2d52009-11-14 09:02:42 +0000205 <include
206 name="**/about.mappings"/>
david_williamsd913e922006-11-13 07:24:21 +0000207 </replace>
208 </target>
david_williamsb641ce32008-07-01 03:36:40 +0000209 <!--
david_williams19bd2d52009-11-14 09:02:42 +0000210 Steps to do after running the build.xmls for the elements being
211 built.
david_williamsb641ce32008-07-01 03:36:40 +0000212 -->
david_williams19bd2d52009-11-14 09:02:42 +0000213 <target
214 name="postProcess">
215 <condition
216 property="logsAvailable">
217 <istrue
218 value="${javacVerbose}"/>
david_williamsd913e922006-11-13 07:24:21 +0000219 </condition>
david_williams19bd2d52009-11-14 09:02:42 +0000220 <antcall
221 target="gatherLogs"/>
david_williamsd913e922006-11-13 07:24:21 +0000222 </target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000223
224
david_williamsb641ce32008-07-01 03:36:40 +0000225 <!--
226 Steps to do before running assemble.
227 -->
david_williams19bd2d52009-11-14 09:02:42 +0000228 <target
229 name="preAssemble"></target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000230
david_williamsb641ce32008-07-01 03:36:40 +0000231 <!--
232 Steps to do after running assemble.
233 -->
david_williams19bd2d52009-11-14 09:02:42 +0000234 <target
235 name="postAssemble"></target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000236
david_williamsb641ce32008-07-01 03:36:40 +0000237 <!--
238 Steps to do after the build is done.
239 -->
david_williams19bd2d52009-11-14 09:02:42 +0000240 <target
241 name="postBuild"></target>
david_williamsa0aec8e2006-05-23 00:29:00 +0000242
david_williamsb641ce32008-07-01 03:36:40 +0000243 <!--
244 Steps to do to test the build results
david_williams19bd2d52009-11-14 09:02:42 +0000245 -->
246 <target
247 name="test"></target>
david_williams3696f6f2005-12-30 07:59:43 +0000248
david_williamsb641ce32008-07-01 03:36:40 +0000249 <!--
250 Steps to do to publish the build results
251 -->
david_williams19bd2d52009-11-14 09:02:42 +0000252 <target
253 name="publish"></target>
david_williams3696f6f2005-12-30 07:59:43 +0000254
david_williamsb641ce32008-07-01 03:36:40 +0000255 <!--
256 Helper targets
257 -->
david_williamsd913e922006-11-13 07:24:21 +0000258 <target
259 name="gatherLogs"
260 if="logsAvailable">
david_williams19bd2d52009-11-14 09:02:42 +0000261 <mkdir
262 dir="${buildDirectory}/${buildLabel}/compilelogs"/>
david_williams403beae2007-12-09 02:10:40 +0000263 <echo
264 level="debug"
david_williams19bd2d52009-11-14 09:02:42 +0000265 message="logExtension: ${logExtension}"/>
266 <antcall
267 target="allElements">
david_williamsd913e922006-11-13 07:24:21 +0000268 <param
269 name="target"
david_williams19bd2d52009-11-14 09:02:42 +0000270 value="gatherLogs"/>
david_williams803b3cd2007-12-13 07:37:16 +0000271 <param
272 name="logExtension"
david_williams19bd2d52009-11-14 09:02:42 +0000273 value="${logExtension}"/>
david_williamsd913e922006-11-13 07:24:21 +0000274 </antcall>
david_williamsd913e922006-11-13 07:24:21 +0000275 <unzip
276 dest="${buildDirectory}/${buildLabel}/compilelogs"
277 overwrite="true">
david_williams19bd2d52009-11-14 09:02:42 +0000278 <fileset
david_williams5bb82742009-11-14 16:40:30 +0000279 dir="${buildDirectory}/features/org.eclipse.jst">
david_williams19bd2d52009-11-14 09:02:42 +0000280 <include
281 name="**/*.log.zip"/>
david_williamsd913e922006-11-13 07:24:21 +0000282 </fileset>
283 </unzip>
david_williams19bd2d52009-11-14 09:02:42 +0000284 <!--
285 TODO: it is unclear if the above "gather" and unzip do
286 anything constructive. I think not and should be removed
287 (after experimental run, of course.
288 -->
289 <!--
290 workaround: see
291 https://bugs.eclipse.org/bugs/show_bug.cgi?id=156043 and
292 https://bugs.eclipse.org/bugs/show_bug.cgi?id=172361 and
293 https://bugs.eclipse.org/bugs/show_bug.cgi?id=294070
294 -->
david_williamsfa8809c2007-02-24 00:15:31 +0000295 <copy
david_williams19bd2d52009-11-14 09:02:42 +0000296 todir="${buildDirectory}/${buildLabel}/compilelogs/plugins"
david_williamsfa8809c2007-02-24 00:15:31 +0000297 overwrite="true">
david_williams19bd2d52009-11-14 09:02:42 +0000298 <!--
299 we want all @dot.xml files, but assumes a certain
300 structure, to include directory for name of plugin
301 -->
david_williamsfa8809c2007-02-24 00:15:31 +0000302 <fileset
david_williams19bd2d52009-11-14 09:02:42 +0000303 dir="${buildDirectory}/features/">
304 <include
305 name="**/feature.temp.folder/"/>
306 <exclude
307 name="**/*tests*feature*/feature.temp.folder/"/>
308 </fileset>
309 <compositemapper>
310 <mapper
311 type="regexp"
312 from="(.*)/plugins/(.*)/@dot.xml"
313 to="/\2/@dot.xml"/>
314 <mapper
315 type="regexp"
316 from="(.*)/plugins/(.*)/(.*)bin.xml"
317 to="/\2/\3bin.xml"/>
318 </compositemapper>
david_williamsfa8809c2007-02-24 00:15:31 +0000319 </copy>
david_williamsd913e922006-11-13 07:24:21 +0000320 </target>
david_williamsd913e922006-11-13 07:24:21 +0000321 <target
322 name="clean"
323 unless="noclean">
david_williams19bd2d52009-11-14 09:02:42 +0000324 <antcall
325 target="allElements">
david_williamsd913e922006-11-13 07:24:21 +0000326 <param
327 name="target"
david_williams19bd2d52009-11-14 09:02:42 +0000328 value="cleanElement"/>
david_williamsd913e922006-11-13 07:24:21 +0000329 </antcall>
330 </target>
david_williams3696f6f2005-12-30 07:59:43 +0000331
david_williamsb641ce32008-07-01 03:36:40 +0000332 <!--
333 Default target
334 -->
david_williams19bd2d52009-11-14 09:02:42 +0000335 <target
336 name="noDefault">
david_williams403beae2007-12-09 02:10:40 +0000337 <echo
338 level="error"
david_williams19bd2d52009-11-14 09:02:42 +0000339 message="You must specify a target when invoking this file"/>
david_williamsd913e922006-11-13 07:24:21 +0000340 </target>
david_williams19bd2d52009-11-14 09:02:42 +0000341</project>