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

    <fail
        unless="projectname"
        message="a projectname is required"/>

    <!-- if not otherwise set, the following are good default values -->
    <property
        name="checkout.builder.clean"
        value="true"/>
    <property
        name="mapVersionTag"
        value="HEAD"/>
    <property
        name="cvsProtocol"
        value="${env.BUILD_CVS_WRITE_PROTOCOL}"/>
    <property
        name="cvsUser"
        value="${env.BUILD_CVS_WRITE_USER}"/>
    <property
        name="cvsServer"
        value="${env.BUILD_CVS_SERVER}"/>
    <property
        name="cvsRoot"
        value="${env.BUILD_CVS_ROOT}"/>

    <!-- end required defaults-if-not-set -->


    <!-- standard computed properties. Should not have to be changed. -->
    <property
        name="mapCvsRoot"
        value=":${cvsProtocol}:${cvsUser}@${cvsServer}:${cvsRoot}"/>
    <property
        name="codir"
        value="${env.PROJECT_BUILDERS}/${projectname}"/>
    <echo
        message="projectname: ${projectname}"/>

    <!-- main  -->
    <target
        name="checkout"
        if="projectname">
        <!-- we always check and init the builder -->
        <antcall
            target="getbuilder"/>
    </target>
    <!--
        The order of execution of these three worker targets is
        critical, check.clean, initBuilders, and then getbuilder.
    -->
    <target
        name="getbuilder"
        depends="check.clean,initBuilders"
        if="doClean">
        <!--
            This is a special property file, that contains (only) the
            value of builderVersion. Then, that version of the builder
            is fetched to control the rest of the build
        -->
        <property
            file="${codir}/${env.RELENG}/maps/build.cfg"/>
        <fail
            unless="builderVersion"
            message="Could not get builderVersion. Probably could not checkout build.cfg"/>
        <!--
            deleting WTP builder project location: <BUILD
            HOME>/projectBuilders/<project>/webtools.releng/releng.wtpbuilder
        -->
        <delete
            dir="${codir}/${env.RELENG_BUILDER}"
            failonerror="false"/>
        <!--
            Get a new version of the wtpbuild project from CVS, version
            comes from build.cfg map file
        -->
        <echo
            message="Version tag for ${env.RELENG_BUILDER} is: ${builderVersion}"/>
        <cvs
            quiet="${env.CVS_QUIET}"
            reallyquiet="${env.CVS_REALLY_QUIET}"
            cvsRoot="${mapCvsRoot}"
            package="${env.RELENG_BUILDER}"
            dest="${codir}"
            tag="${builderVersion}"/>
    </target>
    <!--
        set doClean property checkout.build.clean is set in
        checkout.properties from the project properties directory
    -->
    <target
        name="check.clean">
        <echo
            message="checkout.builder.clean: ${checkout.builder.clean}"/>
        <condition
            property="doClean">
            <equals
                arg1="${checkout.builder.clean}"
                arg2="true"
                trim="true"
                casesensitive="false"/>
        </condition>
    </target>
    <!--
        checkout releng from from CVS. We do this only to get the
        build.cfg file which names the version of the wtpbuilder to get.
        CVS src: webtools.map/releng/maps files dest: <BUILD
        HOME>/projectBuilders/<project>/webtools.maps/releng/maps
    -->
    <target
        name="initBuilders"
        depends="check.clean"
        if="doClean">
        <echo
            message="Version tag for ${env.RELENG}: ${mapVersionTag}"/>
        <cvs
            quiet="true"
            cvsRoot="${mapCvsRoot}"
            package="${env.RELENG}"
            dest="${codir}"
            tag="${mapVersionTag}"/>
    </target>
</project>