<project
    name="Build specific targets and properties"
    default="noDefault">



    <!-- ===================================================================== -->
    <!-- Run a given ${target} on all elements being built -->
    <!-- Add on <ant> task for each top level element being built. -->
    <!-- ===================================================================== -->
    <target name="allElements">
        <echo message="Target:${target} " />
        <echo message="basedir: ${basedir}" />
        <echo message="buildDirectory: ${buildDirectory}" />
        <echo message="baseLocation: ${baseLocation}" />
        <ant
            antfile="${genericTargets}"
            target="${target}">
            <property
                name="type"
                value="feature" />
            <property
                name="id"
                value="org.eclipse.dltk.javascript.tests" />
        </ant>
    </target>

    <!-- ===================================================================== -->
    <!-- Targets to assemble the built elements for particular configurations  -->
    <!-- These generally call the generated assemble scripts (named in -->
    <!-- ${assembleScriptName}) but may also add pre and post processing -->
    <!-- Add one target for each root element and each configuration -->
    <!-- ===================================================================== -->

    <target name="assemble.org.eclipse.dltk.javascript.tests">
        <property
            name="archiveName"
            value="dltk-javascript-Automated_Tests-${buildLabel}-incubation.zip" />
        <ant
            antfile="${assembleScriptName}"
            dir="${buildDirectory}" />
    </target>

    <target name="prePackage" />


    <target name="postPackage">
        <property
            name="archiveName"
            value="dltk-javascript-Automated_Tests-${buildLabel}-incubation.zip" />

        <ant
            antfile="${dltk.builder.home}/scripts/build/buildutilities.xml"
            target="unpackUpdateJarsAndCreateZippedPackages">
            <property
                name="buildDirectory"
                value="${buildDirectory}" />
            <property
                name="buildLabel"
                value="${buildLabel}" />
            <property
                name="archiveName"
                value="${archiveName}" />
        </ant>

    </target>

    <!-- ===================================================================== -->
    <!-- Check out map files from correct repository -->
    <!-- Replace values for cvsRoot, package and mapVersionTag as desired. -->
    <!-- ===================================================================== -->
    <target name="checkLocal">
        <available
            property="mapsLocal"
            file="${buildDirectory}/maps/${cvsPrefix}/releng.maps/maps" />
    </target>
    <target
        name="getMapFiles"
        depends="checkLocal"
        unless="mapsLocal">

        <!-- ***  change the repo info -->
        <property
            name="mapCvsRoot"
            value=":${cvsProtocol}:${cvsUser}@${cvsMapsServer}:${cvsRoot}" />
        <property
            name="mapVersionTag"
            value="HEAD" />
        <property
            name="cvsPackage"
            value="${cvsPrefix}/releng.maps/maps" />
        <echo message="${mapCvsRoot} ${mapVersionTag} " />
        <echo message="cvsPackage = ${cvsPackage} " />
        <cvs
            cvsRoot="${mapCvsRoot}"
            package="${cvsPackage}"
            dest="${buildDirectory}/maps"
            tag="${mapVersionTag}" />
        <!--tag the map files project-->
        <antcall target="tagMapFiles">
            <param
                name="mapCvsRoot"
                value="${mapCvsRoot}" />
        </antcall>
    </target>

    <target
        name="tagMapFiles"
        if="tagMaps">
        <cvs
            cvsRoot="${mapCvsRoot}"
            dest="${buildDirectory}/maps"
            command="tag v${buildType}${timestamp}" />
    </target>


    <!-- ===================================================================== -->
    <!-- Steps to do before setup -->
    <!-- ===================================================================== -->
    <target name="preSetup"></target>

    <!-- ===================================================================== -->
    <!-- Steps to do after setup but before starting the build proper -->
    <!-- ===================================================================== -->
    <target name="postSetup">
        <dirname
            file="${ant.file}"
            property="component.dir" />
        <echo message="ant.file: ${ant.file}" />
        <echo message="component.dir: ${component.dir}" />

        <ant
            antfile="${component.dir}/dependency.xml"
            target="get">
            <property
                name="dependency.properties"
                value="${buildDirectory}/maps/${cvsPrefix}/releng.maps/maps/dependencies.properties" />
            <property
                name="base.install.dir"
                value="${buildRoot}" />
        </ant>
        <!--fetch the additional pieces to build wst tests -->
        <property
            name="featureOnly"
            value="false" />
        <property
            name="featureAndPlugins"
            value="true" />
        <property
            name="featuresRecursively"
            value="true" />
        <ant
            antfile="genericTargets.xml"
            dir="${pde.build.scripts}"
            target="fetchElement">
            <property
                name="type"
                value="feature" />
            <property
                name="id"
                value="org.eclipse.dltk.javascript" />
        </ant>
    </target>

    <!-- ===================================================================== -->
    <!-- Steps to do before fetching the build elements -->
    <!-- ===================================================================== -->
    <target name="preFetch"></target>

    <!-- ===================================================================== -->
    <!-- Steps to do after fetching the build elements -->
    <!-- ===================================================================== -->
    <target name="postFetch"></target>

    <!-- ===================================================================== -->
    <!-- Steps to do before generating the build scripts. -->
    <!-- ===================================================================== -->
    <target name="postGenerate">
        <customizeAccessRules bundleDirectory="${buildDirectory}/plugins" defaultRules="+org/eclipse/dltk/**/*" />
    </target>
    <!-- ===================================================================== -->
    <!-- Steps to do after generating the build scripts. -->
    <!-- ===================================================================== -->
    <target name="preGenerate"></target>


    <!-- ===================================================================== -->
    <!-- Steps to do before running the build.xmls for the elements being built. -->
    <!-- ===================================================================== -->
    <target name="preProcess"></target>

    <!-- ===================================================================== -->
    <!-- Steps to do after running the build.xmls for the elements being built. -->
    <!-- ===================================================================== -->
    <target name="postProcess">

        <condition property="logsAvailable">
            <istrue value="${javacVerbose}" />
        </condition>
        <antcall target="gatherLogs" />
   
    </target>


    <!-- ===================================================================== -->
    <!-- Steps to do before running assemble. -->
    <!-- ===================================================================== -->
    <target name="preAssemble"></target>

    <!-- ===================================================================== -->
    <!-- Steps to do after  running assemble. -->
    <!-- ===================================================================== -->
    <target name="postAssemble"></target>

    <!-- ===================================================================== -->
    <!-- Steps to do after the build is done. -->
    <!-- ===================================================================== -->
    <target name="postBuild"></target>



    <!-- ===================================================================== -->
    <!-- Steps to test the build results -->
    <!-- ===================================================================== -->
    <target name="test"></target>

    <!-- ===================================================================== -->
    <!-- Steps to do to publish the build results -->
    <!-- ===================================================================== -->
    <target name="publish"></target>
    <!-- ===================================================================== -->
    <!-- Helper targets -->
    <!-- ===================================================================== -->
    <target
        name="gatherLogs"
        if="logsAvailable">
        <mkdir dir="${buildDirectory}/${buildLabel}/testcompilelogs" />
        <echo message="logExtension: ${logExtension}" />
        <antcall target="allElements">
            <param
                name="target"
                value="gatherLogs" />
            <param
                name="logExtension"
                value="${logExtension}" />
        </antcall>
        <unzip
            dest="${buildDirectory}/${buildLabel}/testcompilelogs"
            overwrite="true">
            <fileset dir="${buildDirectory}/features/org.eclipse.dltk.javascript.tests">
                <include name="**/*.log.zip" />
            </fileset>
        </unzip>


    </target>

    <target
        name="clean"
        unless="noclean">
        <antcall target="allElements">
            <param
                name="target"
                value="cleanElement" />
        </antcall>
    </target>
    <!-- ===================================================================== -->
    <!-- Default target                                                        -->
    <!-- ===================================================================== -->
    <target name="noDefault">
        <echo message="You must specify a target when invoking this file" />
    </target>

</project>
