blob: 151f81ede7f260f1a7b8da84df5ee57fc9eaaa88 [file] [log] [blame]
nickboldt03a6f082019-02-12 15:17:11 -05001<!--
2 Copyright (c) 2005, 2019 IBM Corporation and others.
3 This program and the accompanying materials
4 are made available under the terms of the Eclipse Public License 2.0
5 which accompanies this distribution, and is available at
6 https://www.eclipse.org/legal/epl-2.0/
7
8 SPDX-License-Identifier: EPL-2.0
9
10 Contributors:
11 IBM Corporation - initial API and implementation
12 -->
david_williams9e5f0a92007-08-29 00:09:02 +000013<project
14 name="build"
15 default="build"
16 basedir=".">
david_williams67d27702006-11-20 16:36:52 +000017
david_williams3830fa62008-01-10 01:39:59 +000018
david_williamse04a7782009-10-14 05:06:49 +000019 <!-- main -->
20 <target
david_williams9e5f0a92007-08-29 00:09:02 +000021 name="build"
tle904471a2011-12-19 20:07:16 +000022 depends="init, preBuild"
david_williams9e5f0a92007-08-29 00:09:02 +000023 if="build_distro_target_exists">
david_williamsef62fc42011-03-18 02:33:39 +000024
25 <!-- remove eclipse builder at start of every major build, so it will be reinstalled -->
26
david_williams14cadd12011-03-23 06:43:39 +000027 <delete
28 failonerror="true"
29 quiet="true"
30 dir="${eclipse.builder.base.install.dir}"/>
david_williamsef62fc42011-03-18 02:33:39 +000031
david_williams9e5f0a92007-08-29 00:09:02 +000032 <property
33 name="buildfile"
david_williamse04a7782009-10-14 05:06:49 +000034 value="${wtp.builder.home}/distribution/${build.distribution}.build/build.xml"/>
david_williams9e5f0a92007-08-29 00:09:02 +000035 <echo
david_williams70e7c7f2008-01-08 04:02:12 +000036 level="info"
david_williamse04a7782009-10-14 05:06:49 +000037 message="buildfile: ${buildfile}"/>
38 <!-- build -->
david_williams2398e362011-03-05 02:45:39 +000039 <ant antfile="${buildfile}"/>
david_williams9e5f0a92007-08-29 00:09:02 +000040 </target>
david_williams9e5f0a92007-08-29 00:09:02 +000041 <target
42 name="site"
43 depends="init"
44 if="site_distro_target_exists">
david_williams2398e362011-03-05 02:45:39 +000045 <ant antfile="${wtp.builder.home}/distribution/${build.distribution}.site/build.xml"></ant>
david_williams9e5f0a92007-08-29 00:09:02 +000046 </target>
david_williams9e5f0a92007-08-29 00:09:02 +000047 <target
48 name="test"
david_williams51bc3bd2010-08-24 03:32:43 +000049 depends="init,markIfNoTests"
david_williams9e5f0a92007-08-29 00:09:02 +000050 if="tests_distro_target_exists">
david_williams2398e362011-03-05 02:45:39 +000051 <ant antfile="${wtp.builder.home}/distribution/${build.distribution}.tests/build.xml">
david_williams9e5f0a92007-08-29 00:09:02 +000052 <property
53 name="testRoot"
david_williamse04a7782009-10-14 05:06:49 +000054 value="${env.PROJECT_TESTS}/${projectname}"/>
david_williams9e5f0a92007-08-29 00:09:02 +000055 <property
56 name="dependencyTargets"
david_williamse04a7782009-10-14 05:06:49 +000057 value="${wtp.builder.home}/scripts/dependency/build.xml"/>
david_williams9e5f0a92007-08-29 00:09:02 +000058 <property
59 name="local.cache.dir"
david_williamse04a7782009-10-14 05:06:49 +000060 value="${env.LOCAL_PREREQS_CACHE}"/>
david_williams9e5f0a92007-08-29 00:09:02 +000061 </ant>
62 </target>
david_williams9c32af12010-09-26 04:46:26 +000063 <target
64 name="package"
65 depends="init"
66 if="package_distro_target_exists">
david_williams2398e362011-03-05 02:45:39 +000067 <ant antfile="${wtp.builder.home}/distribution/${build.distribution}.package/build.xml">
david_williams8994edf2010-09-26 03:49:34 +000068
david_williams9c32af12010-09-26 04:46:26 +000069 </ant>
70 </target>
david_williams7e568c72010-09-12 09:04:15 +000071 <target
72 name="markIfNoTests"
73 unless="tests_distro_target_exists">
74
75 <echo
david_williams99658fe2010-09-17 14:21:00 +000076 message="This build for ${build.distribution} (${projectname}) provided no unit tests"
david_williams7e568c72010-09-12 09:04:15 +000077 file="${buildDirectory}/${buildLabel}/noTestsProvided.txt"/>
78
79 </target>
david_williams9e7f5842011-03-06 03:32:03 +000080
81 <!-- we dont' use 'upload' any longer ... TODO: remove? -->
david_williams9e5f0a92007-08-29 00:09:02 +000082 <target
83 name="upload"
84 depends="init"
85 if="upload_distro_target_exists">
david_williams2398e362011-03-05 02:45:39 +000086 <ant antfile="${wtp.builder.home}/distribution/${build.distribution}.upload/build.xml"/>
david_williams9e5f0a92007-08-29 00:09:02 +000087 </target>
david_williams51bc3bd2010-08-24 03:32:43 +000088
david_williamsb641ce32008-07-01 03:36:40 +000089 <!--
david_williamse04a7782009-10-14 05:06:49 +000090 init: 1) set buildBranch property 2) call label.xml to create
91 label.properties file in <BUILD HOME>/projects/<project>/workdir
92 3) check for existence of build.xml file for each of the build,
93 test, upload, site distribution locations and set properties
david_williamsb641ce32008-07-01 03:36:40 +000094 -->
david_williams14cadd12011-03-23 06:43:39 +000095 <target
96 name="init"
97 unless="buildInitialized">
98
99
100 <!-- = = = standard properties pattern = = = -->
101 <!--
102 Note to be cross-platform, "environment variables" are only
103 appropriate for some variables, e.g. ones we set, since
104 properties are case sensitive, even if the environment variables
105 on your operating system are not, e.g. it will be ${env.Path}
106 not ${env.PATH} on Windows
107 -->
108 <property environment="env"/>
109 <!--
110 Let users override standard properties, if desired. If
111 directory, file, or some properties do not exist, then standard
112 properties will be used.
113 -->
114 <property file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties"/>
115 <property
116 name="keyCfgFile"
117 value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg"/>
118 <echo
119 level="debug"
120 message="keyCfgFile: ${keyCfgFile}"/>
121 <property file="${keyCfgFile}"/>
122
123 <!-- TODO: I don't think this is loaded here. Wrong basedir? -->
124 <property file="${ant.project.name}.properties"/>
125
126
127 <!-- = = = end standard properties pattern = = = -->
128 <fail
129 unless="build.distribution"
130 message="build.distribution must be specified"/>
131 <echo message="build.distribution: ${build.distribution}"/>
132
133
david_williams9e5f0a92007-08-29 00:09:02 +0000134 <dirname
135 file="${ant.file}"
david_williamse04a7782009-10-14 05:06:49 +0000136 property="wtp.builder.home"/>
david_williams9e7f5842011-03-06 03:32:03 +0000137
138
david_williamse04a7782009-10-14 05:06:49 +0000139 <!-- if not set above, assume R3.2.0 -->
david_williams9e5f0a92007-08-29 00:09:02 +0000140 <!-- this happens, for example, when using a "tempTest" branch -->
141 <property
142 name="buildBranch"
david_williamse04a7782009-10-14 05:06:49 +0000143 value="R3.2.0"/>
david_williams2398e362011-03-05 02:45:39 +0000144 <touch file="${user.home}/.cvspass"/>
david_williamse04a7782009-10-14 05:06:49 +0000145 <!--
146 strip trailing blanks. Seems either Eclipse, or CVS make it
147 hard to not have trailing spaces
148 -->
david_williams9e5f0a92007-08-29 00:09:02 +0000149 <replaceregexp
150 flags="gm"
151 file="${wtp.builder.home}/build.properties"
152 match=" *$"
david_williamse04a7782009-10-14 05:06:49 +0000153 replace=""/>
david_williams2398e362011-03-05 02:45:39 +0000154 <property file="${wtp.builder.home}/build.properties"/>
david_williamsb641ce32008-07-01 03:36:40 +0000155
david_williams1ae20302010-09-11 01:34:56 +0000156 <!-- create label.properties file (if doesn't exist)-->
david_williams2398e362011-03-05 02:45:39 +0000157 <ant antfile="${wtp.builder.home}/scripts/build/label.xml"/>
158 <property file="${buildDirectory}/label.properties"/>
david_williams1e71b282008-03-10 10:12:40 +0000159 <echo
160 level="info"
david_williams1ae20302010-09-11 01:34:56 +0000161 message="label file: ${buildDirectory}/label.properties"/>
162
david_williams7e568c72010-09-12 09:04:15 +0000163
164
165 <property
david_williams95d46522008-01-09 23:59:12 +0000166 name="build.distribution"
david_williamse04a7782009-10-14 05:06:49 +0000167 value="${wtp.builder.home}/distribution/${wtp.builder.home}/distribution/${build.distribution}"/>
david_williams9e5f0a92007-08-29 00:09:02 +0000168 <available
david_williams3830fa62008-01-10 01:39:59 +0000169 file="${wtp.builder.home}/distribution/${build.distribution}.build/build.xml"
david_williams403beae2007-12-09 02:10:40 +0000170 type="file"
david_williamse04a7782009-10-14 05:06:49 +0000171 property="build_distro_target_exists"/>
david_williams9e5f0a92007-08-29 00:09:02 +0000172 <available
david_williams3830fa62008-01-10 01:39:59 +0000173 file="${wtp.builder.home}/distribution/${build.distribution}.site/build.xml"
david_williams403beae2007-12-09 02:10:40 +0000174 type="file"
david_williamse04a7782009-10-14 05:06:49 +0000175 property="site_distro_target_exists"/>
david_williams9e5f0a92007-08-29 00:09:02 +0000176 <available
david_williams3830fa62008-01-10 01:39:59 +0000177 file="${wtp.builder.home}/distribution/${build.distribution}.tests/build.xml"
david_williams403beae2007-12-09 02:10:40 +0000178 type="file"
david_williamse04a7782009-10-14 05:06:49 +0000179 property="tests_distro_target_exists"/>
david_williams9e5f0a92007-08-29 00:09:02 +0000180 <available
david_williams3830fa62008-01-10 01:39:59 +0000181 file="${wtp.builder.home}/distribution/${build.distribution}.upload/build.xml"
david_williams403beae2007-12-09 02:10:40 +0000182 type="file"
david_williamse04a7782009-10-14 05:06:49 +0000183 property="upload_distro_target_exists"/>
david_williams2398e362011-03-05 02:45:39 +0000184 <available
185 file="${wtp.builder.home}/distribution/${build.distribution}.package/build.xml"
186 type="file"
david_williams9e7f5842011-03-06 03:32:03 +0000187 property="package_distro_target_exists"/>
david_williamse04a7782009-10-14 05:06:49 +0000188 <!--
189 fetch the HEAD stream of all projects if build type
190 specified as N
191 -->
david_williams9e5f0a92007-08-29 00:09:02 +0000192 <condition
193 property="fetchTag"
Carl Anderson3cf43402012-08-15 12:27:17 -0400194 value="CVS=HEAD,GIT=origin/master">
david_williams9e5f0a92007-08-29 00:09:02 +0000195 <equals
196 arg1="${buildType}"
david_williamse04a7782009-10-14 05:06:49 +0000197 arg2="N"/>
david_williams9e5f0a92007-08-29 00:09:02 +0000198 </condition>
david_williams14cadd12011-03-23 06:43:39 +0000199
200 <property
201 name="buildInitialized"
202 value="true"/>
203
david_williams9e5f0a92007-08-29 00:09:02 +0000204 </target>
tle904471a2011-12-19 20:07:16 +0000205 <!--
206 Steps to do before running a build.
207 -->
208 <target name="preBuild">
209 <!-- Verify that cvs is installed before starting a build. -->
210 <ant antfile="${wtp.builder.home}/scripts/build/checkSystemPrereq.xml">
211 <property
212 name="commandName"
213 value="cvs"/>
214 <property
215 name="arguments"
216 value="--version"/>
217 </ant>
218
219 <!-- Verify that grep is installed. -->
220 <ant antfile="${wtp.builder.home}/scripts/build/checkSystemPrereq.xml">
221 <property
222 name="commandName"
223 value="grep"/>
224 <property
225 name="arguments"
226 value="--version"/>
227 </ant>
228
229 <echo message="All build system prereqs passed"/>
230 </target>
david_williams70e7c7f2008-01-08 04:02:12 +0000231</project>