common/templates/hg-prep.ant.xml.ftl
author Simon Howkins <simonh@symbian.org>
Thu, 15 Oct 2009 16:47:42 +0100
changeset 676 63fe736c83fb
parent 0 571f289c60b8
permissions -rw-r--r--
Moved invocation of sf-brag-to-diamonds, so it's right at the end of the postbuild (apart from publishing zipped logs). This avoids the possibility of a build abort when parallel threaqds are trying to a) convert a log file into a brag file, and b) merge all brag files ready to determine the brag status. It also makes more sense - don't calculate or send the BRAGG status until the build is on the cusp of completion.

<?xml version="1.0"?>
<project name="hg-prep" default="all" xmlns:hlm="http://www.nokia.com/helium">
    <property environment="env"/>

    <taskdef name="scm" classname="com.nokia.helium.scm.ant.taskdefs.ScmTask" uri="http://www.nokia.com/helium" />
    <typedef name="latestTag" classname="com.nokia.helium.scm.ant.types.LatestTag" uri="http://www.nokia.com/helium" />
    <typedef name="tagSet" classname="com.nokia.helium.scm.ant.types.TagSet" uri="http://www.nokia.com/helium" />


    <target name="all">
    
    <parallel threadCount="${ant['threads']}">
    <#assign refid=0/>
<#list data as d>
        <sequential>
            <delete dir="${ant['build.drive']}${d.dst}" failonerror="false"/>
            <mkdir dir="${ant['build.drive']}${d.dst}"/>
            <hlm:scm verbose="true" scmUrl="scm:hg:${d.source}">
                <hlm:checkout basedir="${ant['build.drive']}${d.dst}"/>
        
                <hlm:tags basedir="${ant['build.drive']}${d.dst}" reference="hg.tags.id${refid}"/>
        
                <hlm:update basedir="${ant['build.drive']}${d.dst}">
                    <hlm:latestTag pattern="${d.tag}">
                        <hlm:tagSet refid="hg.tags.id${refid}" />
                    </hlm:latestTag>
                </hlm:update>
            </hlm:scm>
        </sequential>
        <#assign refid=refid + 1/>
</#list>
    </parallel>
    </target>
    
    <import file="${ant['helium.dir']}/helium.ant.xml"/>   
</project>