<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.dltkbuilder.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="getdltkbuilder" />
        <!-- and projects can do more if needed. -->
        <antcall target="${checkoutprojectname}" />
    </target>

    <target name="dltk-R1.0-N">

        <!-- 
        	do not need, since we do nightly builds "on demand" only
            <cvs quiet="true" cvsRoot="${mapCvsRoot}" package="${wst}" dest="${codir}" />
            <cvs quiet="true" cvsRoot="${mapCvsRoot}" package="${jst}" dest="${codir}" />
        -->

    </target>

    <target name="dltk-R1.0-S">
        <cvs quiet="true"
             cvsRoot="${mapCvsRoot}"
             package="${cvsPrefix}/${releng}"
             dest="${codir}"
             tag="HEAD" />
    </target>

    <target name="dltk-R1.0-I">
        <cvs quiet="true"
             cvsRoot="${mapCvsRoot}"
             package="${cvsPrefix}/${releng}"
             dest="${codir}"
             tag="HEAD" />
    </target>

    <target name="dltk-R0.9-M">
        <cvs
            quiet="true"
            cvsRoot="${mapCvsRoot}"
            package="${releng}"
            dest="${codir}"
            tag="R0_9_maintenance" />
    </target>
	
    <!-- 
        The order of execution of these three worker targets
        is critical, check.clean, initBuilders, and 
        then getdltkbuilder.
    -->
    <target name="getdltkbuilder"
            depends="check.clean,initBuilders"
            if="doClean">
        <!-- This is a special property file, that contains (only) the 
        value of dltkBuilderVersion. Then, that version of the builder 
        is fetched to control the rest of the build -->
        <property file="${codir}/${cvsPrefix}/${releng}/build.cfg" />
        <delete dir="${codir}/releng.dltkbuilder"
                failonerror="false" />
        <echo message="Version tag for ${releng.builder} is: ${dltkBuilderVersion}" />
        <cvs quiet="true"
             cvsRoot="${mapCvsRoot}"
             package="${cvsPrefix}/${releng.builder}"
             dest="${codir}"
             tag="${dltkBuilderVersion}" />
    </target>

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

    <target name="initBuilders" if="doClean">
        <echo message="Version tag for ${releng}: ${mapVersionTag}" />
        <cvs quiet="true"
             cvsRoot="${mapCvsRoot}"
             package="${cvsPrefix}/${releng}"
             dest="${codir}"
             tag="${mapVersionTag}" />
    	<exec command="sh ${env.BUILD_HOME}/replace.sh ${codir}/${cvsPrefix}/${releng}" />
    </target>


</project>

