blob: cd6afc034173cba325e64e167a9289f1c9ff9c51 [file] [log] [blame]
david_williams9e5f0a92007-08-29 00:09:02 +00001<project
2 name="build"
3 default="build"
4 basedir=".">
david_williams67d27702006-11-20 16:36:52 +00005
david_williams9e5f0a92007-08-29 00:09:02 +00006 <!-- = = = standard properties pattern = = = -->
david_williamse04a7782009-10-14 05:06:49 +00007 <!--
8 Note to be cross-platform, "environment variables" are only
9 appropriate for some variables, e.g. ones we set, since
10 properties are case sensitive, even if the environment variables
11 on your operating system are not, e.g. it will be ${env.Path}
12 not ${env.PATH} on Windows
david_williams403beae2007-12-09 02:10:40 +000013 -->
david_williamse04a7782009-10-14 05:06:49 +000014 <property
15 environment="env"/>
16 <!--
17 Let users override standard properties, if desired. If
18 directory, file, or some properties do not exist, then standard
19 properties will be used.
20 -->
21 <property
22 file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties"/>
david_williams9e5f0a92007-08-29 00:09:02 +000023 <property
david_williamsb641ce32008-07-01 03:36:40 +000024 name="keyCfgFile"
david_williamse04a7782009-10-14 05:06:49 +000025 value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg"/>
26 <echo
27 level="debug"
28 message="keyCfgFile: ${keyCfgFile}"/>
29 <property
30 file="${keyCfgFile}"/>
31 <property
32 file="${ant.project.name}.properties"/>
david_williams4b3c8042007-03-19 01:06:50 +000033
david_williams9e5f0a92007-08-29 00:09:02 +000034 <!-- = = = end standard properties pattern = = = -->
david_williamsb641ce32008-07-01 03:36:40 +000035 <fail
36 unless="build.distribution"
david_williamse04a7782009-10-14 05:06:49 +000037 message="build.distribution must be specified"/>
38 <echo
39 message="build.distribution: ${build.distribution}"/>
david_williams3830fa62008-01-10 01:39:59 +000040
david_williamse04a7782009-10-14 05:06:49 +000041 <!-- main -->
42 <target
david_williams9e5f0a92007-08-29 00:09:02 +000043 name="build"
44 depends="init"
45 if="build_distro_target_exists">
46 <property
47 name="buildfile"
david_williamse04a7782009-10-14 05:06:49 +000048 value="${wtp.builder.home}/distribution/${build.distribution}.build/build.xml"/>
david_williams9e5f0a92007-08-29 00:09:02 +000049 <echo
david_williams70e7c7f2008-01-08 04:02:12 +000050 level="info"
david_williamse04a7782009-10-14 05:06:49 +000051 message="buildfile: ${buildfile}"/>
52 <!-- build -->
53 <ant
54 antfile="${buildfile}"/>
david_williams9e5f0a92007-08-29 00:09:02 +000055 </target>
david_williams9e5f0a92007-08-29 00:09:02 +000056 <target
57 name="site"
58 depends="init"
59 if="site_distro_target_exists">
david_williamse04a7782009-10-14 05:06:49 +000060 <ant
61 antfile="${wtp.builder.home}/distribution/${build.distribution}.site/build.xml"></ant>
david_williams9e5f0a92007-08-29 00:09:02 +000062 </target>
david_williams9e5f0a92007-08-29 00:09:02 +000063 <target
64 name="test"
65 depends="init"
66 if="tests_distro_target_exists">
david_williamse04a7782009-10-14 05:06:49 +000067 <ant
68 antfile="${wtp.builder.home}/distribution/${build.distribution}.tests/build.xml">
david_williams9e5f0a92007-08-29 00:09:02 +000069 <property
70 name="testRoot"
david_williamse04a7782009-10-14 05:06:49 +000071 value="${env.PROJECT_TESTS}/${projectname}"/>
david_williams9e5f0a92007-08-29 00:09:02 +000072 <property
73 name="dependencyTargets"
david_williamse04a7782009-10-14 05:06:49 +000074 value="${wtp.builder.home}/scripts/dependency/build.xml"/>
david_williams9e5f0a92007-08-29 00:09:02 +000075 <property
76 name="local.cache.dir"
david_williamse04a7782009-10-14 05:06:49 +000077 value="${env.LOCAL_PREREQS_CACHE}"/>
david_williams9e5f0a92007-08-29 00:09:02 +000078 </ant>
79 </target>
david_williams9e5f0a92007-08-29 00:09:02 +000080 <target
81 name="upload"
82 depends="init"
83 if="upload_distro_target_exists">
david_williamse04a7782009-10-14 05:06:49 +000084 <ant
85 antfile="${wtp.builder.home}/distribution/${build.distribution}.upload/build.xml"/>
david_williams9e5f0a92007-08-29 00:09:02 +000086 </target>
david_williams9e5f0a92007-08-29 00:09:02 +000087 <target
88 name="copyArtifacts"
89 depends="init">
david_williamse04a7782009-10-14 05:06:49 +000090 <mkdir
91 dir="${localStampedArtifactsDirectory}"/>
92 <mkdir
93 dir="${localStampedArtifactsDirectory}/${buildLabel}"/>
david_williams9e5f0a92007-08-29 00:09:02 +000094 <copy
95 todir="${localStampedArtifactsDirectory}/${buildLabel}"
david_williamse04a7782009-10-14 05:06:49 +000096 overwrite="true">
97 <fileset
98 dir="${buildDirectory}/${buildLabel}"/>
david_williams9e5f0a92007-08-29 00:09:02 +000099 </copy>
100 </target>
david_williamsb641ce32008-07-01 03:36:40 +0000101 <!--
david_williamse04a7782009-10-14 05:06:49 +0000102 init: 1) set buildBranch property 2) call label.xml to create
103 label.properties file in <BUILD HOME>/projects/<project>/workdir
104 3) check for existence of build.xml file for each of the build,
105 test, upload, site distribution locations and set properties
david_williamsb641ce32008-07-01 03:36:40 +0000106 -->
david_williamse04a7782009-10-14 05:06:49 +0000107 <target
108 name="init">
david_williams9e5f0a92007-08-29 00:09:02 +0000109 <dirname
110 file="${ant.file}"
david_williamse04a7782009-10-14 05:06:49 +0000111 property="wtp.builder.home"/>
112
113 <!-- if not set above, assume R3.2.0 -->
david_williams9e5f0a92007-08-29 00:09:02 +0000114 <!-- this happens, for example, when using a "tempTest" branch -->
115 <property
116 name="buildBranch"
david_williamse04a7782009-10-14 05:06:49 +0000117 value="R3.2.0"/>
118 <touch
119 file="${user.home}/.cvspass"/>
120 <!--
121 strip trailing blanks. Seems either Eclipse, or CVS make it
122 hard to not have trailing spaces
123 -->
david_williams9e5f0a92007-08-29 00:09:02 +0000124 <replaceregexp
125 flags="gm"
126 file="${wtp.builder.home}/build.properties"
127 match=" *$"
david_williamse04a7782009-10-14 05:06:49 +0000128 replace=""/>
129 <property
130 file="${wtp.builder.home}/build.properties"/>
david_williamsb641ce32008-07-01 03:36:40 +0000131
132 <!-- creating label.properties file -->
david_williamse04a7782009-10-14 05:06:49 +0000133 <ant
134 antfile="${wtp.builder.home}/scripts/build/label.xml"/>
135 <property
136 file="${buildDirectory}/label.properties"/>
david_williams1e71b282008-03-10 10:12:40 +0000137 <echo
138 level="info"
david_williamse04a7782009-10-14 05:06:49 +0000139 message="label: ${buildDirectory}/label.properties"/>
david_williams9e5f0a92007-08-29 00:09:02 +0000140 <property
david_williams95d46522008-01-09 23:59:12 +0000141 name="build.distribution"
david_williamse04a7782009-10-14 05:06:49 +0000142 value="${wtp.builder.home}/distribution/${wtp.builder.home}/distribution/${build.distribution}"/>
david_williams9e5f0a92007-08-29 00:09:02 +0000143 <available
david_williams3830fa62008-01-10 01:39:59 +0000144 file="${wtp.builder.home}/distribution/${build.distribution}.build/build.xml"
david_williams403beae2007-12-09 02:10:40 +0000145 type="file"
david_williamse04a7782009-10-14 05:06:49 +0000146 property="build_distro_target_exists"/>
david_williams9e5f0a92007-08-29 00:09:02 +0000147 <available
david_williams3830fa62008-01-10 01:39:59 +0000148 file="${wtp.builder.home}/distribution/${build.distribution}.site/build.xml"
david_williams403beae2007-12-09 02:10:40 +0000149 type="file"
david_williamse04a7782009-10-14 05:06:49 +0000150 property="site_distro_target_exists"/>
david_williams9e5f0a92007-08-29 00:09:02 +0000151 <available
david_williams3830fa62008-01-10 01:39:59 +0000152 file="${wtp.builder.home}/distribution/${build.distribution}.tests/build.xml"
david_williams403beae2007-12-09 02:10:40 +0000153 type="file"
david_williamse04a7782009-10-14 05:06:49 +0000154 property="tests_distro_target_exists"/>
david_williams9e5f0a92007-08-29 00:09:02 +0000155 <available
david_williams3830fa62008-01-10 01:39:59 +0000156 file="${wtp.builder.home}/distribution/${build.distribution}.upload/build.xml"
david_williams403beae2007-12-09 02:10:40 +0000157 type="file"
david_williamse04a7782009-10-14 05:06:49 +0000158 property="upload_distro_target_exists"/>
159 <!--
160 fetch the HEAD stream of all projects if build type
161 specified as N
162 -->
david_williams9e5f0a92007-08-29 00:09:02 +0000163 <condition
164 property="fetchTag"
165 value="HEAD">
166 <equals
167 arg1="${buildType}"
david_williamse04a7782009-10-14 05:06:49 +0000168 arg2="N"/>
david_williams9e5f0a92007-08-29 00:09:02 +0000169 </condition>
david_williams9e5f0a92007-08-29 00:09:02 +0000170 </target>
david_williams70e7c7f2008-01-08 04:02:12 +0000171</project>