blob: fec805efd9127eb9e09bb69da2766e264e535486 [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
david_williams28df8fd2008-07-01 06:25:59 +000011 <!-- = = = standard properties pattern = = =
david_williams886167e2007-12-13 04:42:37 +000012
david_williams886167e2007-12-13 04:42:37 +000013 Note to be cross-platform, "environment variables" are only appropriate for
14 some variables, e.g. ones we set, since properties are case sensitive, even if
15 the environment variables on your operating system are not, e.g. it will
16 be ${env.Path} not ${env.PATH} on Windows -->
17 <property environment="env" />
18
19 <!--
20 Let users override standard properties, if desired.
21 If directory, file, or some properties do not exist,
22 then standard properties will be used.
23 -->
24 <property
25 file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties" />
26
27 <!-- let this project specify properties, if not already set -->
28 <property file="build.properties" />
29
david_williams28df8fd2008-07-01 06:25:59 +000030 <fail
31 unless="buildDirectory"
32 message="buildDirectory must be set" />
david_williams674e5502008-01-16 20:31:15 +000033 <echo message="buildDirectory: ${buildDirectory}" />
david_williamsa3e48362007-08-22 04:21:50 +000034
david_williams842e4192007-12-09 07:44:35 +000035 <property
36 name="cvsProtocol"
david_williamsd4b1fd32008-01-02 04:16:52 +000037 value="${env.BUILD_CVS_WRITE_PROTOCOL}" />
david_williams842e4192007-12-09 07:44:35 +000038 <property
39 name="cvsUser"
david_williamsd4b1fd32008-01-02 04:16:52 +000040 value="${env.BUILD_CVS_WRITE_USER}" />
david_williams842e4192007-12-09 07:44:35 +000041 <property
42 name="cvsServer"
david_williamsd4b1fd32008-01-02 04:16:52 +000043 value="${env.BUILD_CVS_SERVER}" />
david_williams842e4192007-12-09 07:44:35 +000044 <property
45 name="cvsRoot"
david_williamsd4b1fd32008-01-02 04:16:52 +000046 value="${env.BUILD_CVS_ROOT}" />
david_williams842e4192007-12-09 07:44:35 +000047
david_williams28df8fd2008-07-01 06:25:59 +000048 <!--
49 Run a given ${target} on all elements being built
50 Add on <ant> task for each top level element being built.
51 -->
david_williamsa76816d2006-12-11 20:10:22 +000052 <target name="allElements">
david_williams403beae2007-12-09 02:10:40 +000053 <echo
54 level="info"
55 message="Target:${target} " />
56 <echo
57 level="debug"
58 message="basedir: ${basedir}" />
59 <echo
david_williams28df8fd2008-07-01 06:25:59 +000060 level="info"
david_williams403beae2007-12-09 02:10:40 +000061 message="component: ${component}" />
62 <echo
63 level="debug"
64 message="buildDirectory: ${buildDirectory}" />
65 <echo
66 level="debug"
67 message="baseLocation: ${baseLocation}" />
68 <echo
69 level="debug"
70 message="patchFeature: ${patchFeature}" />
david_williams28df8fd2008-07-01 06:25:59 +000071 <echo
72 message="compilerArg: ${compilerArg}" />
73 <echo
74 message="individualSourceBundles: ${individualSourceBundles}" />
david_williamsa3e48362007-08-22 04:21:50 +000075 <ant
76 antfile="${genericTargets}"
77 target="${target}">
78 <property
79 name="type"
80 value="feature" />
81 <property
82 name="id"
83 value="${patchFeature}" />
david_williamsa76816d2006-12-11 20:10:22 +000084 </ant>
85 </target>
david_williams403beae2007-12-09 02:10:40 +000086
david_williams28df8fd2008-07-01 06:25:59 +000087 <!--
88 Targets to assemble the built elements for particular configurations
89 These generally call the generated assemble scripts (named in
90 ${assembleScriptName}) but may also add pre and post processing
91 Add one target for each root element and each configuration
92 -->
david_williamsa76816d2006-12-11 20:10:22 +000093
david_williams35915692007-10-05 06:18:08 +000094 <target name="assemble.org.eclipse.wtp.patch.assembly.feature">
david_williamsa3e48362007-08-22 04:21:50 +000095 <property
96 name="archiveName"
97 value="wtp-${buildLabel}.zip" />
98 <ant
99 antfile="${assembleScriptName}"
100 dir="${buildDirectory}" />
david_williamsa76816d2006-12-11 20:10:22 +0000101
102 </target>
103
104 <target name="prePackage" />
105
106 <target name="postPackage">
david_williamsa3e48362007-08-22 04:21:50 +0000107 <property
108 name="archiveName"
109 value="wtp-${buildLabel}.zip" />
david_williamsa76816d2006-12-11 20:10:22 +0000110
david_williamsa3e48362007-08-22 04:21:50 +0000111 <ant
112 antfile="${wtp.builder.home}/scripts/build/buildutilities.xml"
113 target="unpackUpdateJarsAndCreateZippedPackages">
114 <property
115 name="buildDirectory"
116 value="${buildDirectory}" />
117 <property
118 name="buildLabel"
119 value="${buildLabel}" />
120 <property
121 name="archiveName"
122 value="${archiveName}" />
123 </ant>
124
125
david_williamsa76816d2006-12-11 20:10:22 +0000126 </target>
127
david_williamsa3e48362007-08-22 04:21:50 +0000128
david_williams28df8fd2008-07-01 06:25:59 +0000129 <!--
130 Check out map files from repository
131 -->
132 <target name="getMapFiles">
david_williamsa3e48362007-08-22 04:21:50 +0000133
david_williams28df8fd2008-07-01 06:25:59 +0000134 <!-- for now, get all, at once. May componetize later. -->
david_williamsa76816d2006-12-11 20:10:22 +0000135
david_williams28df8fd2008-07-01 06:25:59 +0000136 <ant
137 antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
138 target="fetchAllMaps" />
david_williams403beae2007-12-09 02:10:40 +0000139
david_williamsa76816d2006-12-11 20:10:22 +0000140 </target>
141
142
david_williams28df8fd2008-07-01 06:25:59 +0000143 <!--
144 Steps to do before setup
145 -->
david_williamsa3e48362007-08-22 04:21:50 +0000146 <target name="preSetup"></target>
david_williamsa76816d2006-12-11 20:10:22 +0000147
david_williams28df8fd2008-07-01 06:25:59 +0000148 <!--
149 Steps to do after setup but before starting the build proper
150 -->
david_williamsa76816d2006-12-11 20:10:22 +0000151 <target name="postSetup">
david_williamsa3e48362007-08-22 04:21:50 +0000152 <dirname
153 file="${ant.file}"
154 property="component.dir" />
david_williams403beae2007-12-09 02:10:40 +0000155 <echo
156 level="debug"
157 message="ant.file: ${ant.file}" />
158 <echo
159 level="debug"
160 message="component.dir: ${component.dir}" />
david_williams5d9c9862007-11-19 04:42:55 +0000161
david_williamsa3e48362007-08-22 04:21:50 +0000162 <ant
163 antfile="${component.dir}/dependency.xml"
164 target="get">
165 <property
166 name="dependency.properties"
david_williams771c0a12007-11-17 02:19:01 +0000167 value="${buildDirectory}/maps/${env.RELENG}/maps/dependencies.properties" />
david_williamsa3e48362007-08-22 04:21:50 +0000168 <property
169 name="base.install.dir"
170 value="${buildRoot}" />
david_williamsa76816d2006-12-11 20:10:22 +0000171 </ant>
david_williams403beae2007-12-09 02:10:40 +0000172
david_williamsa76816d2006-12-11 20:10:22 +0000173 </target>
174
david_williams28df8fd2008-07-01 06:25:59 +0000175 <!--
176 Steps to do before fetching the build elements
177 -->
david_williamsa3e48362007-08-22 04:21:50 +0000178 <target name="preFetch"></target>
david_williamsa76816d2006-12-11 20:10:22 +0000179
david_williams28df8fd2008-07-01 06:25:59 +0000180 <!--
181 Steps to do after fetching the build elements
182 -->
david_williamsa3e48362007-08-22 04:21:50 +0000183 <target name="postFetch"></target>
david_williamsa76816d2006-12-11 20:10:22 +0000184
david_williams28df8fd2008-07-01 06:25:59 +0000185 <!--
186 Steps to do before generating the build scripts.
187 -->
david_williamsa3e48362007-08-22 04:21:50 +0000188 <target name="preGenerate"></target>
david_williamsa76816d2006-12-11 20:10:22 +0000189
david_williams28df8fd2008-07-01 06:25:59 +0000190 <!--
191 Steps to do after generating the build scripts.
192 -->
david_williamsa3e48362007-08-22 04:21:50 +0000193 <target name="postGenerate"></target>
david_williamsa76816d2006-12-11 20:10:22 +0000194
195
david_williams28df8fd2008-07-01 06:25:59 +0000196 <!--
197 Steps to do before running the build.xmls for the elements being built.
198 -->
david_williamsa76816d2006-12-11 20:10:22 +0000199 <target name="preProcess">
david_williamsa3e48362007-08-22 04:21:50 +0000200 <replace
201 dir="${buildDirectory}/plugins"
202 value="${timestamp}"
203 token="@build@">
david_williamsa76816d2006-12-11 20:10:22 +0000204 <include name="**/about.mappings" />
205 </replace>
206 </target>
207
david_williams28df8fd2008-07-01 06:25:59 +0000208 <!--
209 Steps to do after running the build.xmls for the elements being built.
210 -->
david_williamsa76816d2006-12-11 20:10:22 +0000211 <target name="postProcess">
212 <condition property="logsAvailable">
213 <istrue value="${javacVerbose}" />
214 </condition>
215 <antcall target="gatherLogs" />
216 </target>
217
218
david_williams28df8fd2008-07-01 06:25:59 +0000219 <!--
220 Steps to do before running assemble.
221 Note: in version 2.0 (and previous) we need to build the
david_williams674e5502008-01-16 20:31:15 +0000222 explorer war file by invoking script. In 3.0 forward, we do not,
223 so this simple existence check allows us to use the same script for
david_williams28df8fd2008-07-01 06:25:59 +0000224 both streams
225 -->
david_williams674e5502008-01-16 20:31:15 +0000226 <property
227 name="buildwarfilename"
228 value="${buildDirectory}/plugins/org.eclipse.wst.ws.explorer/build-war.xml" />
229 <target
230 name="preAssemble"
231 depends="buildwar">
232 </target>
233
234 <target name="checkForBuildFile">
235 <condition property="buildFileExists">
236 <available file="${buildwarfilename}" />
237 </condition>
238 </target>
239
240 <target
241 name="buildwar"
242 depends="checkForBuildFile"
243 if="buildFileExists">
244 <ant antfile="${buildwarfilename}">
245 <property
246 name="baseLocation"
247 value="${baseLocation}" />
248 <property
249 name="basedir"
250 value="${buildDirectory}/plugins/org.eclipse.wst.ws.explorer" />
251 <property
252 name="buildDirectory"
253 value="${buildDirectory}" />
254 </ant>
255 </target>
david_williamsa76816d2006-12-11 20:10:22 +0000256
david_williams28df8fd2008-07-01 06:25:59 +0000257 <!--
258 Steps to do after running assemble.
259 -->
david_williamsa3e48362007-08-22 04:21:50 +0000260 <target name="postAssemble"></target>
david_williamsa76816d2006-12-11 20:10:22 +0000261
david_williams28df8fd2008-07-01 06:25:59 +0000262 <!--
263 Steps to do after the build is done.
264 -->
david_williamsa3e48362007-08-22 04:21:50 +0000265 <target name="postBuild"></target>
david_williamsa76816d2006-12-11 20:10:22 +0000266
david_williams28df8fd2008-07-01 06:25:59 +0000267 <!--
268 Steps to do to test the build results
269 -->
david_williamsa3e48362007-08-22 04:21:50 +0000270 <target name="test"></target>
david_williamsa76816d2006-12-11 20:10:22 +0000271
david_williams28df8fd2008-07-01 06:25:59 +0000272 <!--
273 Steps to do to publish the build results
274 -->
david_williamsa3e48362007-08-22 04:21:50 +0000275 <target name="publish"></target>
david_williamsa76816d2006-12-11 20:10:22 +0000276
david_williams28df8fd2008-07-01 06:25:59 +0000277 <!--
278 Helper targets
279 -->
david_williamsa3e48362007-08-22 04:21:50 +0000280 <target
281 name="gatherLogs"
282 if="logsAvailable">
david_williamsa76816d2006-12-11 20:10:22 +0000283 <mkdir dir="${buildDirectory}/${buildLabel}/compilelogs" />
david_williams403beae2007-12-09 02:10:40 +0000284 <echo
285 level="debug"
286 message="logExtension: ${logExtension}" />
david_williamsa76816d2006-12-11 20:10:22 +0000287 <antcall target="allElements">
david_williamsa3e48362007-08-22 04:21:50 +0000288 <param
289 name="target"
290 value="gatherLogs" />
david_williams803b3cd2007-12-13 07:37:16 +0000291 <param
292 name="logExtension"
293 value="${logExtension}" />
294
david_williamsa76816d2006-12-11 20:10:22 +0000295 </antcall>
296
david_williamsa3e48362007-08-22 04:21:50 +0000297 <unzip
298 dest="${buildDirectory}/${buildLabel}/compilelogs"
299 overwrite="true">
david_williams28df8fd2008-07-01 06:25:59 +0000300 <fileset
301 dir="${buildDirectory}/features/${patchFeature}">
david_williamsa76816d2006-12-11 20:10:22 +0000302 <include name="**/*.log.zip" />
303 </fileset>
304 </unzip>
david_williamsa3e48362007-08-22 04:21:50 +0000305
david_williamsa76816d2006-12-11 20:10:22 +0000306 </target>
307
david_williamsa3e48362007-08-22 04:21:50 +0000308 <target
309 name="clean"
310 unless="noclean">
david_williamsa76816d2006-12-11 20:10:22 +0000311 <antcall target="allElements">
david_williamsa3e48362007-08-22 04:21:50 +0000312 <param
313 name="target"
314 value="cleanElement" />
david_williamsa76816d2006-12-11 20:10:22 +0000315 </antcall>
316 </target>
317
david_williams28df8fd2008-07-01 06:25:59 +0000318 <!--
319 Default target
320 -->
david_williamsa76816d2006-12-11 20:10:22 +0000321 <target name="noDefault">
david_williams403beae2007-12-09 02:10:40 +0000322 <echo
323 level="error"
david_williamsa3e48362007-08-22 04:21:50 +0000324 message="You must specify a target when invoking this file" />
david_williamsa76816d2006-12-11 20:10:22 +0000325 </target>
326
david_williamsa76816d2006-12-11 20:10:22 +0000327</project>