<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>