blob: 59c70afac01799ee0c5427fa80f3d4310600e5a6 [file] [log] [blame]
<project
name="build"
default="build"
basedir=".">
<!-- = = = standard properties pattern = = = -->
<!--
Note to be cross-platform, "environment variables" are only appropriate for
some variables, e.g. ones we set, since properties are case sensitive, even if
the environment variables on your operating system are not, e.g. it will
be ${env.Path} not ${env.PATH} on Windows -->
<property environment="env" />
<!--
Let users override standard properties, if desired.
If directory, file, or some properties do not exist,
then standard properties will be used.
-->
<property file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties" />
<property
name="keyCfgFile"
value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg" />
<echo
level="debug"
message="keyCfgFile: ${keyCfgFile}" />
<property file="${keyCfgFile}" />
<property file="${ant.project.name}.properties" />
<!-- = = = end standard properties pattern = = = -->
<fail
unless="build.distribution"
message="distribution must be specified" />
<echo message="build.distribution: ${build.distribution}" />
<!-- main -->
<target
name="build"
depends="init"
if="build_distro_target_exists">
<property
name="buildfile"
value="${wtp.builder.home}/distribution/${build.distribution}.build/build.xml" />
<echo
level="info"
message="buildfile: ${buildfile}" />
<!-- build -->
<ant antfile="${buildfile}" />
</target>
<target
name="site"
depends="init"
if="site_distro_target_exists">
<ant antfile="${wtp.builder.home}/distribution/${build.distribution}.site/build.xml"></ant>
</target>
<target
name="test"
depends="init"
if="tests_distro_target_exists">
<ant antfile="${wtp.builder.home}/distribution/${build.distribution}.tests/build.xml">
<property
name="testRoot"
value="${env.PROJECT_TESTS}/${projectname}" />
<property
name="dependencyTargets"
value="${wtp.builder.home}/scripts/dependency/build.xml" />
<property
name="local.cache.dir"
value="${env.LOCAL_PREREQS_CACHE}" />
</ant>
</target>
<target
name="upload"
depends="init"
if="upload_distro_target_exists">
<ant antfile="${wtp.builder.home}/distribution/${build.distribution}.upload/build.xml" />
</target>
<target
name="copyArtifacts"
depends="init">
<mkdir dir="${localStampedArtifactsDirectory}" />
<mkdir dir="${localStampedArtifactsDirectory}/${buildLabel}" />
<copy
todir="${localStampedArtifactsDirectory}/${buildLabel}"
overwrite="true"
>
<fileset dir="${buildDirectory}/${buildLabel}" />
</copy>
</target>
<!--
init:
1) set buildBranch property
2) call label.xml to create label.properties file in <BUILD HOME>/projects/<project>/workdir
3) check for existence of build.xml file for each of the build, test, upload, site distribution locations and set properties
-->
<target name="init">
<dirname
file="${ant.file}"
property="wtp.builder.home" />
<condition
property="buildBranch"
value="R3.0">
<equals
arg1="${mapVersionTag}"
arg2="HEAD" />
</condition>
<condition
property="buildBranch"
value="R0.7">
<equals
arg1="${mapVersionTag}"
arg2="R0_7_maintenance" />
</condition>
<condition
property="buildBranch"
value="R1.0">
<equals
arg1="${mapVersionTag}"
arg2="R1_0_maintenance" />
</condition>
<condition
property="buildBranch"
value="R1.5">
<equals
arg1="${mapVersionTag}"
arg2="R1_5_maintenance" />
</condition>
<condition
property="buildBranch"
value="R1.5.5">
<equals
arg1="${mapVersionTag}"
arg2="R1_5_5_patches" />
</condition>
<condition
property="buildBranch"
value="R2.0">
<equals
arg1="${mapVersionTag}"
arg2="R2_0_maintenance" />
</condition>
<condition
property="buildBranch"
value="R2.0.2">
<equals
arg1="${mapVersionTag}"
arg2="R2_0_2_patches" />
</condition>
<!-- if not set above, assume R3.0 -->
<!-- this happens, for example, when using a "tempTest" branch -->
<property
name="buildBranch"
value="R3.0" />
<touch file="${user.home}/.cvspass" />
<!-- strip trailing blanks. Seems either Eclipse, or CVS make it hard to not have trailing spaces -->
<replaceregexp
flags="gm"
file="${wtp.builder.home}/build.properties"
match=" *$"
replace="" />
<property file="${wtp.builder.home}/build.properties" />
<!-- creating label.properties file -->
<ant antfile="${wtp.builder.home}/scripts/build/label.xml" />
<property file="${buildDirectory}/label.properties" />
<echo
level="info"
message="label: ${buildDirectory}/label.properties" />
<property
name="build.distribution"
value="${wtp.builder.home}/distribution/${wtp.builder.home}/distribution/${build.distribution}" />
<available
file="${wtp.builder.home}/distribution/${build.distribution}.build/build.xml"
type="file"
property="build_distro_target_exists" />
<available
file="${wtp.builder.home}/distribution/${build.distribution}.site/build.xml"
type="file"
property="site_distro_target_exists" />
<available
file="${wtp.builder.home}/distribution/${build.distribution}.tests/build.xml"
type="file"
property="tests_distro_target_exists" />
<available
file="${wtp.builder.home}/distribution/${build.distribution}.upload/build.xml"
type="file"
property="upload_distro_target_exists" />
<!--fetch the HEAD stream of all projects if build type specified as N-->
<condition
property="fetchTag"
value="HEAD">
<equals
arg1="${buildType}"
arg2="N" />
</condition>
</target>
</project>