blob: cd6afc034173cba325e64e167a9289f1c9ff9c51 [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="build.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"/>
<!-- if not set above, assume R3.2.0 -->
<!-- this happens, for example, when using a "tempTest" branch -->
<property
name="buildBranch"
value="R3.2.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>