david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 1 | <project |
| 2 | name="build" |
| 3 | default="build" |
| 4 | basedir="."> |
david_williams | 67d2770 | 2006-11-20 16:36:52 +0000 | [diff] [blame] | 5 | |
david_williams | 3830fa6 | 2008-01-10 01:39:59 +0000 | [diff] [blame] | 6 | |
david_williams | e04a778 | 2009-10-14 05:06:49 +0000 | [diff] [blame] | 7 | <!-- main --> |
| 8 | <target |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 9 | name="build" |
tle | 904471a | 2011-12-19 20:07:16 +0000 | [diff] [blame] | 10 | depends="init, preBuild" |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 11 | if="build_distro_target_exists"> |
david_williams | ef62fc4 | 2011-03-18 02:33:39 +0000 | [diff] [blame] | 12 | |
| 13 | <!-- remove eclipse builder at start of every major build, so it will be reinstalled --> |
| 14 | |
david_williams | 14cadd1 | 2011-03-23 06:43:39 +0000 | [diff] [blame] | 15 | <delete |
| 16 | failonerror="true" |
| 17 | quiet="true" |
| 18 | dir="${eclipse.builder.base.install.dir}"/> |
david_williams | ef62fc4 | 2011-03-18 02:33:39 +0000 | [diff] [blame] | 19 | |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 20 | <property |
| 21 | name="buildfile" |
david_williams | e04a778 | 2009-10-14 05:06:49 +0000 | [diff] [blame] | 22 | value="${wtp.builder.home}/distribution/${build.distribution}.build/build.xml"/> |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 23 | <echo |
david_williams | 70e7c7f | 2008-01-08 04:02:12 +0000 | [diff] [blame] | 24 | level="info" |
david_williams | e04a778 | 2009-10-14 05:06:49 +0000 | [diff] [blame] | 25 | message="buildfile: ${buildfile}"/> |
| 26 | <!-- build --> |
david_williams | 2398e36 | 2011-03-05 02:45:39 +0000 | [diff] [blame] | 27 | <ant antfile="${buildfile}"/> |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 28 | </target> |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 29 | <target |
| 30 | name="site" |
| 31 | depends="init" |
| 32 | if="site_distro_target_exists"> |
david_williams | 2398e36 | 2011-03-05 02:45:39 +0000 | [diff] [blame] | 33 | <ant antfile="${wtp.builder.home}/distribution/${build.distribution}.site/build.xml"></ant> |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 34 | </target> |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 35 | <target |
| 36 | name="test" |
david_williams | 51bc3bd | 2010-08-24 03:32:43 +0000 | [diff] [blame] | 37 | depends="init,markIfNoTests" |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 38 | if="tests_distro_target_exists"> |
david_williams | 2398e36 | 2011-03-05 02:45:39 +0000 | [diff] [blame] | 39 | <ant antfile="${wtp.builder.home}/distribution/${build.distribution}.tests/build.xml"> |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 40 | <property |
| 41 | name="testRoot" |
david_williams | e04a778 | 2009-10-14 05:06:49 +0000 | [diff] [blame] | 42 | value="${env.PROJECT_TESTS}/${projectname}"/> |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 43 | <property |
| 44 | name="dependencyTargets" |
david_williams | e04a778 | 2009-10-14 05:06:49 +0000 | [diff] [blame] | 45 | value="${wtp.builder.home}/scripts/dependency/build.xml"/> |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 46 | <property |
| 47 | name="local.cache.dir" |
david_williams | e04a778 | 2009-10-14 05:06:49 +0000 | [diff] [blame] | 48 | value="${env.LOCAL_PREREQS_CACHE}"/> |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 49 | </ant> |
| 50 | </target> |
david_williams | 9c32af1 | 2010-09-26 04:46:26 +0000 | [diff] [blame] | 51 | <target |
| 52 | name="package" |
| 53 | depends="init" |
| 54 | if="package_distro_target_exists"> |
david_williams | 2398e36 | 2011-03-05 02:45:39 +0000 | [diff] [blame] | 55 | <ant antfile="${wtp.builder.home}/distribution/${build.distribution}.package/build.xml"> |
david_williams | 8994edf | 2010-09-26 03:49:34 +0000 | [diff] [blame] | 56 | |
david_williams | 9c32af1 | 2010-09-26 04:46:26 +0000 | [diff] [blame] | 57 | </ant> |
| 58 | </target> |
david_williams | 7e568c7 | 2010-09-12 09:04:15 +0000 | [diff] [blame] | 59 | <target |
| 60 | name="markIfNoTests" |
| 61 | unless="tests_distro_target_exists"> |
| 62 | |
| 63 | <echo |
david_williams | 99658fe | 2010-09-17 14:21:00 +0000 | [diff] [blame] | 64 | message="This build for ${build.distribution} (${projectname}) provided no unit tests" |
david_williams | 7e568c7 | 2010-09-12 09:04:15 +0000 | [diff] [blame] | 65 | file="${buildDirectory}/${buildLabel}/noTestsProvided.txt"/> |
| 66 | |
| 67 | </target> |
david_williams | 9e7f584 | 2011-03-06 03:32:03 +0000 | [diff] [blame] | 68 | |
| 69 | <!-- we dont' use 'upload' any longer ... TODO: remove? --> |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 70 | <target |
| 71 | name="upload" |
| 72 | depends="init" |
| 73 | if="upload_distro_target_exists"> |
david_williams | 2398e36 | 2011-03-05 02:45:39 +0000 | [diff] [blame] | 74 | <ant antfile="${wtp.builder.home}/distribution/${build.distribution}.upload/build.xml"/> |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 75 | </target> |
david_williams | 51bc3bd | 2010-08-24 03:32:43 +0000 | [diff] [blame] | 76 | |
david_williams | b641ce3 | 2008-07-01 03:36:40 +0000 | [diff] [blame] | 77 | <!-- |
david_williams | e04a778 | 2009-10-14 05:06:49 +0000 | [diff] [blame] | 78 | init: 1) set buildBranch property 2) call label.xml to create |
| 79 | label.properties file in <BUILD HOME>/projects/<project>/workdir |
| 80 | 3) check for existence of build.xml file for each of the build, |
| 81 | test, upload, site distribution locations and set properties |
david_williams | b641ce3 | 2008-07-01 03:36:40 +0000 | [diff] [blame] | 82 | --> |
david_williams | 14cadd1 | 2011-03-23 06:43:39 +0000 | [diff] [blame] | 83 | <target |
| 84 | name="init" |
| 85 | unless="buildInitialized"> |
| 86 | |
| 87 | |
| 88 | <!-- = = = standard properties pattern = = = --> |
| 89 | <!-- |
| 90 | Note to be cross-platform, "environment variables" are only |
| 91 | appropriate for some variables, e.g. ones we set, since |
| 92 | properties are case sensitive, even if the environment variables |
| 93 | on your operating system are not, e.g. it will be ${env.Path} |
| 94 | not ${env.PATH} on Windows |
| 95 | --> |
| 96 | <property environment="env"/> |
| 97 | <!-- |
| 98 | Let users override standard properties, if desired. If |
| 99 | directory, file, or some properties do not exist, then standard |
| 100 | properties will be used. |
| 101 | --> |
| 102 | <property file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties"/> |
| 103 | <property |
| 104 | name="keyCfgFile" |
| 105 | value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg"/> |
| 106 | <echo |
| 107 | level="debug" |
| 108 | message="keyCfgFile: ${keyCfgFile}"/> |
| 109 | <property file="${keyCfgFile}"/> |
| 110 | |
| 111 | <!-- TODO: I don't think this is loaded here. Wrong basedir? --> |
| 112 | <property file="${ant.project.name}.properties"/> |
| 113 | |
| 114 | |
| 115 | <!-- = = = end standard properties pattern = = = --> |
| 116 | <fail |
| 117 | unless="build.distribution" |
| 118 | message="build.distribution must be specified"/> |
| 119 | <echo message="build.distribution: ${build.distribution}"/> |
| 120 | |
| 121 | |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 122 | <dirname |
| 123 | file="${ant.file}" |
david_williams | e04a778 | 2009-10-14 05:06:49 +0000 | [diff] [blame] | 124 | property="wtp.builder.home"/> |
david_williams | 9e7f584 | 2011-03-06 03:32:03 +0000 | [diff] [blame] | 125 | |
| 126 | |
david_williams | e04a778 | 2009-10-14 05:06:49 +0000 | [diff] [blame] | 127 | <!-- if not set above, assume R3.2.0 --> |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 128 | <!-- this happens, for example, when using a "tempTest" branch --> |
| 129 | <property |
| 130 | name="buildBranch" |
david_williams | e04a778 | 2009-10-14 05:06:49 +0000 | [diff] [blame] | 131 | value="R3.2.0"/> |
david_williams | 2398e36 | 2011-03-05 02:45:39 +0000 | [diff] [blame] | 132 | <touch file="${user.home}/.cvspass"/> |
david_williams | e04a778 | 2009-10-14 05:06:49 +0000 | [diff] [blame] | 133 | <!-- |
| 134 | strip trailing blanks. Seems either Eclipse, or CVS make it |
| 135 | hard to not have trailing spaces |
| 136 | --> |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 137 | <replaceregexp |
| 138 | flags="gm" |
| 139 | file="${wtp.builder.home}/build.properties" |
| 140 | match=" *$" |
david_williams | e04a778 | 2009-10-14 05:06:49 +0000 | [diff] [blame] | 141 | replace=""/> |
david_williams | 2398e36 | 2011-03-05 02:45:39 +0000 | [diff] [blame] | 142 | <property file="${wtp.builder.home}/build.properties"/> |
david_williams | b641ce3 | 2008-07-01 03:36:40 +0000 | [diff] [blame] | 143 | |
david_williams | 1ae2030 | 2010-09-11 01:34:56 +0000 | [diff] [blame] | 144 | <!-- create label.properties file (if doesn't exist)--> |
david_williams | 2398e36 | 2011-03-05 02:45:39 +0000 | [diff] [blame] | 145 | <ant antfile="${wtp.builder.home}/scripts/build/label.xml"/> |
| 146 | <property file="${buildDirectory}/label.properties"/> |
david_williams | 1e71b28 | 2008-03-10 10:12:40 +0000 | [diff] [blame] | 147 | <echo |
| 148 | level="info" |
david_williams | 1ae2030 | 2010-09-11 01:34:56 +0000 | [diff] [blame] | 149 | message="label file: ${buildDirectory}/label.properties"/> |
| 150 | |
david_williams | 7e568c7 | 2010-09-12 09:04:15 +0000 | [diff] [blame] | 151 | |
| 152 | |
| 153 | <property |
david_williams | 95d4652 | 2008-01-09 23:59:12 +0000 | [diff] [blame] | 154 | name="build.distribution" |
david_williams | e04a778 | 2009-10-14 05:06:49 +0000 | [diff] [blame] | 155 | value="${wtp.builder.home}/distribution/${wtp.builder.home}/distribution/${build.distribution}"/> |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 156 | <available |
david_williams | 3830fa6 | 2008-01-10 01:39:59 +0000 | [diff] [blame] | 157 | file="${wtp.builder.home}/distribution/${build.distribution}.build/build.xml" |
david_williams | 403beae | 2007-12-09 02:10:40 +0000 | [diff] [blame] | 158 | type="file" |
david_williams | e04a778 | 2009-10-14 05:06:49 +0000 | [diff] [blame] | 159 | property="build_distro_target_exists"/> |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 160 | <available |
david_williams | 3830fa6 | 2008-01-10 01:39:59 +0000 | [diff] [blame] | 161 | file="${wtp.builder.home}/distribution/${build.distribution}.site/build.xml" |
david_williams | 403beae | 2007-12-09 02:10:40 +0000 | [diff] [blame] | 162 | type="file" |
david_williams | e04a778 | 2009-10-14 05:06:49 +0000 | [diff] [blame] | 163 | property="site_distro_target_exists"/> |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 164 | <available |
david_williams | 3830fa6 | 2008-01-10 01:39:59 +0000 | [diff] [blame] | 165 | file="${wtp.builder.home}/distribution/${build.distribution}.tests/build.xml" |
david_williams | 403beae | 2007-12-09 02:10:40 +0000 | [diff] [blame] | 166 | type="file" |
david_williams | e04a778 | 2009-10-14 05:06:49 +0000 | [diff] [blame] | 167 | property="tests_distro_target_exists"/> |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 168 | <available |
david_williams | 3830fa6 | 2008-01-10 01:39:59 +0000 | [diff] [blame] | 169 | file="${wtp.builder.home}/distribution/${build.distribution}.upload/build.xml" |
david_williams | 403beae | 2007-12-09 02:10:40 +0000 | [diff] [blame] | 170 | type="file" |
david_williams | e04a778 | 2009-10-14 05:06:49 +0000 | [diff] [blame] | 171 | property="upload_distro_target_exists"/> |
david_williams | 2398e36 | 2011-03-05 02:45:39 +0000 | [diff] [blame] | 172 | <available |
| 173 | file="${wtp.builder.home}/distribution/${build.distribution}.package/build.xml" |
| 174 | type="file" |
david_williams | 9e7f584 | 2011-03-06 03:32:03 +0000 | [diff] [blame] | 175 | property="package_distro_target_exists"/> |
david_williams | e04a778 | 2009-10-14 05:06:49 +0000 | [diff] [blame] | 176 | <!-- |
| 177 | fetch the HEAD stream of all projects if build type |
| 178 | specified as N |
| 179 | --> |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 180 | <condition |
| 181 | property="fetchTag" |
| 182 | value="HEAD"> |
| 183 | <equals |
| 184 | arg1="${buildType}" |
david_williams | e04a778 | 2009-10-14 05:06:49 +0000 | [diff] [blame] | 185 | arg2="N"/> |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 186 | </condition> |
david_williams | 14cadd1 | 2011-03-23 06:43:39 +0000 | [diff] [blame] | 187 | |
| 188 | <property |
| 189 | name="buildInitialized" |
| 190 | value="true"/> |
| 191 | |
david_williams | 9e5f0a9 | 2007-08-29 00:09:02 +0000 | [diff] [blame] | 192 | </target> |
tle | 904471a | 2011-12-19 20:07:16 +0000 | [diff] [blame] | 193 | <!-- |
| 194 | Steps to do before running a build. |
| 195 | --> |
| 196 | <target name="preBuild"> |
| 197 | <!-- Verify that cvs is installed before starting a build. --> |
| 198 | <ant antfile="${wtp.builder.home}/scripts/build/checkSystemPrereq.xml"> |
| 199 | <property |
| 200 | name="commandName" |
| 201 | value="cvs"/> |
| 202 | <property |
| 203 | name="arguments" |
| 204 | value="--version"/> |
| 205 | </ant> |
| 206 | |
| 207 | <!-- Verify that grep is installed. --> |
| 208 | <ant antfile="${wtp.builder.home}/scripts/build/checkSystemPrereq.xml"> |
| 209 | <property |
| 210 | name="commandName" |
| 211 | value="grep"/> |
| 212 | <property |
| 213 | name="arguments" |
| 214 | value="--version"/> |
| 215 | </ant> |
| 216 | |
| 217 | <echo message="All build system prereqs passed"/> |
| 218 | </target> |
david_williams | 70e7c7f | 2008-01-08 04:02:12 +0000 | [diff] [blame] | 219 | </project> |