<project
    name="checkout"
    default="checkout"
    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" />

    <!-- load standard properties for production environment -->
    <property
        file="${env.STANDARD_PROPERTIES_DIR}/${ant.project.name}.properties" />
    <!-- = = = end standard properties pattern = = = -->

    <!-- if not otherwise set, the following are good default values -->
    <property
        name="checkout.wtpbuilder.clean"
        value="true" />
    <property
        name="mapVersionTag"
        value="HEAD" />

    <property
        name="mapCvsRoot"
        value=":${cvsProtocol}:${cvsUser}@${cvsServer}:${cvsRoot}" />

    <property
        name="codir"
        value="${env.BUILD_HOME}/build-node/checkout/${checkoutprojectname}" />



    <echo message="checkoutprojectname: ${checkoutprojectname}" />
    <target
        name="checkout"
        if="checkoutprojectname">
        <!-- we always check and init the builder -->
        <antcall target="getwtpbuilder" />
        <!-- and projects can do more if needed. -->
        <antcall target="${checkoutprojectname}" />
    </target>

    <target name="wtp-R3.0-N">

    </target>

    <target name="retest-wtp-R3.0-N">
        <antcall target="wtp-R3.0-N" />
    </target>

    <target name="wtp-R3.0-S">
        <cvs
            quiet="${env.CVS_QUIET}"
            reallyquiet="${env.CVS_REALLY_QUIET}"
            cvsRoot="${mapCvsRoot}"
            package="releng-jsf"
            dest="${codir}"
            tag="HEAD" />
        <cvs
            quiet="${env.CVS_QUIET}"
            reallyquiet="${env.CVS_REALLY_QUIET}"
            cvsRoot="${mapCvsRoot}"
            package="releng.dali"
            dest="${codir}"
            tag="HEAD" />
    </target>
    <target name="retest-wtp-R3.0-S">
        <antcall target="wtp-R3.0-S" />
    </target>

    <target name="wtp-R3.0-I">
        <cvs
            quiet="${env.CVS_QUIET}"
            reallyquiet="${env.CVS_REALLY_QUIET}"
            cvsRoot="${mapCvsRoot}"
            package="releng-jsf"
            dest="${codir}"
            tag="HEAD" />
        <cvs
            quiet="${env.CVS_QUIET}"
            reallyquiet="${env.CVS_REALLY_QUIET}"
            cvsRoot="${mapCvsRoot}"
            package="releng.dali"
            dest="${codir}"
            tag="HEAD" />
    </target>
    <target name="retest-wtp-R3.0-I">
        <antcall target="wtp-R3.0-I" />
    </target>

    <target name="wtp-R3.0-R">
        <cvs
            quiet="${env.CVS_QUIET}"
            reallyquiet="${env.CVS_REALLY_QUIET}"
            cvsRoot="${mapCvsRoot}"
            package="releng-jsf"
            dest="${codir}"
            tag="HEAD" />
        <cvs
            quiet="${env.CVS_QUIET}"
            reallyquiet="${env.CVS_REALLY_QUIET}"
            cvsRoot="${mapCvsRoot}"
            package="releng.dali"
            dest="${codir}"
            tag="HEAD" />
    </target>
    <target name="retest-wtp-R3.0-R">
        <antcall target="wtp-R3.0-R" />
    </target>


    <target name="wtp-R1.5-M">
        <cvs
            quiet="${env.CVS_QUIET}"
            reallyquiet="${env.CVS_REALLY_QUIET}"
            cvsRoot="${mapCvsRoot}"
            package="${releng}"
            dest="${codir}"
            tag="R1_5_maintenance" />
    </target>
    <target name="retest-wtp-R1.5-M">
        <antcall target="wtp-R1.5-M" />
    </target>
    <target name="wtp-R2.0-M">
        <cvs
            quiet="${env.CVS_QUIET}"
            reallyquiet="${env.CVS_REALLY_QUIET}"
            cvsRoot="${mapCvsRoot}"
            package="${releng}"
            dest="${codir}"
            tag="R2_0_maintenance" />
        <cvs
            quiet="${env.CVS_QUIET}"
            reallyquiet="${env.CVS_REALLY_QUIET}"
            cvsRoot="${mapCvsRoot}"
            package="releng.dali"
            dest="${codir}"
            tag="R1_0_maintenance" />
        <cvs
            quiet="${env.CVS_QUIET}"
            reallyquiet="${env.CVS_REALLY_QUIET}"
            cvsRoot="${mapCvsRoot}"
            package="releng-jsf"
            dest="${codir}"
            tag="R1_0_maintenance" />
    </target>

    <target name="retest-wtp-R2.0-M">
        <antcall target="wtp-R2.0-M" />
    </target>

    <target name="jem-R1.5-M">
        <cvs
            quiet="${env.CVS_QUIET}"
            reallyquiet="${env.CVS_REALLY_QUIET}"
            cvsRoot="${mapCvsRoot}"
            package="${releng}"
            dest="${codir}"
            tag="R1_5_maintenance" />
    </target>
    <target name="patches-R1.5-P">
        <cvs
            quiet="${env.CVS_QUIET}"
            reallyquiet="${env.CVS_REALLY_QUIET}"
            cvsRoot="${mapCvsRoot}"
            package="${releng}"
            dest="${codir}"
            tag="R1_5_maintenance_patches" />
    </target>

    <target name="wtp-buildTools-R3.0-T">
        <cvs
            quiet="${env.CVS_QUIET}"
            reallyquiet="${env.CVS_REALLY_QUIET}"
            cvsRoot="${mapCvsRoot}"
            package="releng"
            dest="${codir}"
            tag="HEAD" />
    </target>



    <!--
        The order of execution of these three worker targets
        is critical, check.clean, initBuilders, and
        then getwtpbuilder.
    -->
    <target
        name="getwtpbuilder"
        depends="check.clean,initBuilders"
        if="doClean">
        <!-- This is a special property file, that contains (only) the
            value of wtpBuilderVersion. Then, that version of the builder
            is fetched to control the rest of the build -->
        <property file="${codir}/${releng}/maps/build.cfg" />
        <delete
            dir="${codir}/releng.wtpbuilder"
            failonerror="false" />
        <echo
            message="Version tag for ${releng.wtpbuilder} is: ${wtpBuilderVersion}" />
        <cvs
            quiet="${env.CVS_QUIET}"
            reallyquiet="${env.CVS_REALLY_QUIET}"
            cvsRoot="${mapCvsRoot}"
            package="${releng.wtpbuilder}"
            dest="${codir}"
            tag="${wtpBuilderVersion}" />
    </target>

    <target name="check.clean">
        <echo
            message="checkout.wtpbuilder.clean: ${checkout.wtpbuilder.clean}" />
        <condition property="doClean">
            <equals
                arg1="${checkout.wtpbuilder.clean}"
                arg2="true"
                trim="true"
                casesensitive="false" />
        </condition>
    </target>

    <target
        name="initBuilders"
        depends="check.clean"
        if="doClean">
        <echo message="Version tag for ${releng}: ${mapVersionTag}" />
        <cvs
            quiet="true"
            cvsRoot="${mapCvsRoot}"
            package="${releng}"
            dest="${codir}"
            tag="${mapVersionTag}" />
    </target>


</project>

