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

    <!-- = = = end standard properties pattern = = = -->

    <target
        name="whatisfixed"
        depends="clean">



        <mkdir dir="${whatisfixed.workdir}" />
        <antcall target="releng" />

        <!-- create what-is-fixed summary files -->
        <ant antfile="${builder}">
            <property
                name="wtp.builder.home"
                value="${whatisfixed.workdir}/${env.RELENG_BUILDER}" />
            <property
                name="buildBranch"
                value="${buildBranch}" />
            <property
                name="builder.whatisfixed.properties.file"
                value="${basedir}/whatisfixed.properties" />
        </ant>

        <antcall target="sync" />

    </target>

    <target name="releng">

        <available
            file="${whatisfixed.workdir}/${env.RELENG}/maps/dependencies.properties"
            property="map.exists" />
        <available
            file="${whatisfixed.workdir}/${env.RELENG_BUILDER}/scripts/dependency/build.xml"
            property="releng.exists" />
        <antcall target="checkout-maps" />
        <antcall target="getbuilder" />
    </target>

    <target
        name="checkout-maps"
        unless="map.exists">
        <cvs
            quiet="${env.CVS_QUIET}"
            reallyquiet="${env.CVS_REALLY_QUIET}"
            cvsRoot="${mapCvsRoot}"
            package="${env.RELENG}/maps/build.cfg"
            dest="${whatisfixed.workdir}"
            tag="${wtp.cvsTag}" />
    </target>

    <target
        name="getbuilder"
        unless="releng.exists">
        <property file="${whatisfixed.workdir}/${env.RELENG}/maps/build.cfg" />
        <delete
            dir="${whatisfixed.workdir}/${env.RELENG_BUILDER}"
            failonerror="false" />
        <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="${whatisfixed.workdir}"
            tag="${builderVersion}" />
    </target>

    <target name="clean">
        <delete dir="${whatisfixed.workdir}" />
    </target>

    <target name="sync">



        <echo message="RSYNC to: ${uploadRemoteDirectory}" />

        <exec executable="rsync">
            <arg
                line="-e ssh -Cavz ${whatisfixed.dir} ${uploadUser}@${uploadServer}:${uploadRemoteDirectory}" />
        </exec>
    </target>



</project>
