common/templates/source-spec.ant.xml.ftl
author Simon Howkins <simonh@symbian.org>
Tue, 09 Feb 2010 17:49:27 +0000
changeset 892 24ecf67cba71
parent 890 41f3579ef67e
child 893 f4d702959f07
permissions -rw-r--r--
Bug 1661: Improve build speed with better caching strategy Changed the way that the cache is located, so the same code can run on any build machine without any configuration. Made work around for Bug 419 the only option, as we're not using the alternative anyway, and I don't want to commit completely untested code! Changed caching algorithm, to improve build times.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7
389e1e1f1583 Rename and move of generated source sync xml and also tidy up
shaberazvi@LON-ENGBUILD88.prod.ad.symbian.intra
parents:
diff changeset
     1
<?xml version="1.0"?>
17
c677077df18c Fix FMPP template to allow multiple repositories
shaberazvi@LON-ENGBUILD88.prod.ad.symbian.intra
parents: 7
diff changeset
     2
<project name="SF-SOURCESPEC" default="all" xmlns:hlm="http://www.nokia.com/helium">
7
389e1e1f1583 Rename and move of generated source sync xml and also tidy up
shaberazvi@LON-ENGBUILD88.prod.ad.symbian.intra
parents:
diff changeset
     3
389e1e1f1583 Rename and move of generated source sync xml and also tidy up
shaberazvi@LON-ENGBUILD88.prod.ad.symbian.intra
parents:
diff changeset
     4
<#assign fileset = "" />
34
c10840c6fcbb Update Platform Config to build tools2 before tools - which must be run in single thread. Also update sync template to sync in parallel.
shaberazvi@LON-ENGBUILD88.prod.ad.symbian.intra
parents: 17
diff changeset
     5
<#assign sync_list = "" />
68
c86f60d45216 Make BOM identify thread safe
BuildAdmin@LON-ENGBUILD87
parents: 62
diff changeset
     6
<#assign bom_list  = "" />
615
6f70bcc536bb source-spec.ant.xml.ftl - Added change info for the BOM that lists submitted changesets between the baseline ('sf.previous.pdk.tag') and the synced changeset and writes to a changes.txt file in the BOM dir.
MattD <mattd@symbian.org>
parents: 584
diff changeset
     7
<#assign change_list  = "" />
7
389e1e1f1583 Rename and move of generated source sync xml and also tidy up
shaberazvi@LON-ENGBUILD88.prod.ad.symbian.intra
parents:
diff changeset
     8
<#assign dollar = "$"/>
389e1e1f1583 Rename and move of generated source sync xml and also tidy up
shaberazvi@LON-ENGBUILD88.prod.ad.symbian.intra
parents:
diff changeset
     9
<#assign count = 0 />
584
920441a385c6 Bug 419 source sync workaround - Added new variable 'sf.spec.sourcesync.bug419' that can be used during source sync that just performs the sync manually without using Maven.
MattD <mattd@symbian.org>
parents: 312
diff changeset
    10
856
0e553fdaa218 Added framework for specifying a "sources.csv" for test repos (separate from both the FBF and the sources repos).
Simon Howkins <simonh@symbian.org>
parents: 799
diff changeset
    11
<#list data as csv_file>
0e553fdaa218 Added framework for specifying a "sources.csv" for test repos (separate from both the FBF and the sources repos).
Simon Howkins <simonh@symbian.org>
parents: 799
diff changeset
    12
  <#list csv_file as pkg_detail>
7
389e1e1f1583 Rename and move of generated source sync xml and also tidy up
shaberazvi@LON-ENGBUILD88.prod.ad.symbian.intra
parents:
diff changeset
    13
    <target name="sf-prebuild-${count}">
892
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    14
        
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    15
        <!-- Create sf\layer dir on build dir -->
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    16
        <mkdir dir="${ant['build.drive']}${pkg_detail.dst}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    17
        <delete dir="${ant['build.drive']}${pkg_detail.dst}" failonerror="true" />
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    18
        
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    19
        <if>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    20
            <istrue value="${dollar}{sf.spec.sourcesync.usecache}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    21
            <then>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    22
                <!-- Work out cache location from source location -->
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    23
                <propertyregex property="sf.spec.sourcesync.cachelocation.${count}" input="${pkg_detail.source}" regexp="^http://developer.symbian.org/" casesensitive="false" replace="${dollar}{sf.spec.sourcesync.cachelocation}/Live/"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    24
		<propertyregex property="sf.spec.sourcesync.cachelocation.${count}" input="${pkg_detail.source}" regexp="^${ant['sf.spec.sourcesync.local.development.area']}/" casesensitive="false" replace="${dollar}{sf.spec.sourcesync.cachelocation}/LocalDev/"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    25
            </then>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    26
        </if>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    27
	
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    28
        <if>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    29
            <and>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    30
                <isset property="sf.spec.sourcesync.cachelocation.${count}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    31
                <available file="${dollar}{sf.spec.sourcesync.cachelocation.${count}}" type="dir"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    32
            </and>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    33
            <then>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    34
                <!-- Package in cache already -->
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    35
		<!-- Clone null revision from source to get the right default repo -->
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    36
                <exec executable="hg" dir="${ant['build.drive']}/" failonerror="true">
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    37
                    <arg value="clone"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    38
                    <arg value="-r"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    39
                    <arg value="null"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    40
                    <arg value="${pkg_detail.source}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    41
                    <arg value="${ant['build.drive']}${pkg_detail.dst}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    42
                </exec>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    43
                <echo message="Pull from ${dollar}{sf.spec.sourcesync.cachelocation.${count}} to ${ant['build.drive']}${pkg_detail.dst}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    44
                <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}/" failonerror="true">
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    45
                    <arg value="pull"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    46
                    <arg value="-f"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    47
                    <arg value="${dollar}{sf.spec.sourcesync.cachelocation.${count}}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    48
                </exec>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    49
                <echo message="Pull from ${pkg_detail.source} to ${ant['build.drive']}${pkg_detail.dst}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    50
                <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" failonerror="true">
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    51
                    <arg value="pull"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    52
                    <arg value="${pkg_detail.source}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    53
                </exec>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    54
                <!-- Update to required revision -->
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    55
                <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" failonerror="true">
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    56
                    <arg value="update"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    57
                    <arg value="-r"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    58
                    <arg value="${pkg_detail.pattern}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    59
                </exec>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    60
                <!-- Record the changeset selected, for the BOM -->
312
97c01977a87b source syncing ftl - Added 'sf.spec.sourcesync.archive' preference to do 'hg archive' instead of 'hg sync'. If set and the repo sync is s'posed to be synced by tag it still does the slower clone+update behaviour.
MattD <mattd@symbian.org>
parents: 261
diff changeset
    61
                <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" outputproperty="sf.sourcesync.${count}.checksum">
892
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    62
                    <arg value="identify"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    63
                    <arg value="-i"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    64
                </exec>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    65
                <forget>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    66
                    <echo message="Push from ${ant['build.drive']}${pkg_detail.dst} to ${dollar}{sf.spec.sourcesync.cachelocation.${count}} in background"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    67
                    <nice newpriority="1"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    68
                    <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" failonerror="false">
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    69
                        <arg value="push"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    70
                        <arg value="-f"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    71
                        <arg value="${dollar}{sf.spec.sourcesync.cachelocation.${count}}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    72
                    </exec>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    73
                </forget>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    74
            </then>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    75
            <else>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    76
                <echo message="Clone from ${pkg_detail.source} to ${ant['build.drive']}${pkg_detail.dst}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    77
                <exec executable="hg" dir="${ant['build.drive']}/" failonerror="true">
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    78
                    <arg value="clone"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    79
                    <arg value="-U"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    80
                    <arg value="${pkg_detail.source}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    81
                    <arg value="${ant['build.drive']}${pkg_detail.dst}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    82
                </exec>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    83
                <!-- Update to required version -->
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    84
                <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" failonerror="true">
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    85
                    <arg value="update"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    86
                    <arg value="-r"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    87
                    <arg value="${pkg_detail.pattern}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    88
                </exec>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    89
                <!-- Record the changeset selected, for the BOM -->
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    90
                <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" outputproperty="sf.sourcesync.${count}.checksum">
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    91
                    <arg value="identify"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    92
                    <arg value="-i"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    93
                </exec>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    94
                <if>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    95
                    <isset property="sf.spec.sourcesync.cachelocation.${count}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    96
                    <then>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    97
                        <forget>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    98
                            <nice newpriority="1"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
    99
                            <!-- Init cache -->
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   100
                            <mkdir dir="${dollar}{sf.spec.sourcesync.cachelocation.${count}}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   101
                            <delete dir="${dollar}{sf.spec.sourcesync.cachelocation.${count}}" failonerror="true" />
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   102
                            <echo message="Initialise cache at ${dollar}{sf.spec.sourcesync.cachelocation.${count}}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   103
                            <!-- Clone source to get the right default repo -->
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   104
                            <exec executable="hg" dir="${ant['build.drive']}/" failonerror="false">
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   105
                                <arg value="clone"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   106
                                <arg value="-r"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   107
                                <arg value="null"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   108
                                <arg value="${pkg_detail.source}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   109
                                <arg value="${dollar}{sf.spec.sourcesync.cachelocation.${count}}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   110
                            </exec>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   111
                            <echo message="Push from ${ant['build.drive']}${pkg_detail.dst} to ${dollar}{sf.spec.sourcesync.cachelocation.${count}} in background"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   112
                            <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" failonerror="false">
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   113
                                <arg value="push"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   114
                                <arg value="-f"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   115
                                <arg value="${dollar}{sf.spec.sourcesync.cachelocation.${count}}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   116
                            </exec>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   117
                        </forget>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   118
                    </then>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   119
                </if>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   120
            </else>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   121
        </if>
68
c86f60d45216 Make BOM identify thread safe
BuildAdmin@LON-ENGBUILD87
parents: 62
diff changeset
   122
    </target>
890
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   123
    
68
c86f60d45216 Make BOM identify thread safe
BuildAdmin@LON-ENGBUILD87
parents: 62
diff changeset
   124
    <target name="sf-bom-info-${count}">
890
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   125
        <!-- record info on source code repo/rev in BOM file  -->
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   126
        <echo file="${ant['build.drive']}/output/logs/BOM/sources.csv" append="true" message="${pkg_detail.source},${pkg_detail.dst},changeset,${dollar}{sf.sourcesync.${count}.checksum},${pkg_detail.sysdef}${dollar}{line.separator}"/>
7
389e1e1f1583 Rename and move of generated source sync xml and also tidy up
shaberazvi@LON-ENGBUILD88.prod.ad.symbian.intra
parents:
diff changeset
   127
    </target>
890
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   128
    
615
6f70bcc536bb source-spec.ant.xml.ftl - Added change info for the BOM that lists submitted changesets between the baseline ('sf.previous.pdk.tag') and the synced changeset and writes to a changes.txt file in the BOM dir.
MattD <mattd@symbian.org>
parents: 584
diff changeset
   129
    <target name="sf-bom-change-info-${count}">
890
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   130
        <if><not><isset property="sf.sourcesync.${count}.checksum"/></not>
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   131
            <then>
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   132
                <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" outputproperty="sf.sourcesync.${count}.checksum">
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   133
                    <arg value="identify"/>
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   134
                    <arg value="-i"/>
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   135
                </exec>
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   136
            </then>
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   137
        </if>
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   138
        <echo message="Writing BOM changes since ${dollar}{sf.previous.pdk.tag} for ${pkg_detail.dst}" />
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   139
        <echo file="${ant['build.drive']}/output/logs/BOM/changes.txt" append="true" message="${dollar}{line.separator}${pkg_detail.source}${dollar}{line.separator}${pkg_detail.dst}${dollar}{line.separator}${dollar}{line.separator}" />
892
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   140
            <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" output="${ant['build.drive']}/output/logs/BOM/changes.txt" append="true">
615
6f70bcc536bb source-spec.ant.xml.ftl - Added change info for the BOM that lists submitted changesets between the baseline ('sf.previous.pdk.tag') and the synced changeset and writes to a changes.txt file in the BOM dir.
MattD <mattd@symbian.org>
parents: 584
diff changeset
   141
                <arg value="log"/>
6f70bcc536bb source-spec.ant.xml.ftl - Added change info for the BOM that lists submitted changesets between the baseline ('sf.previous.pdk.tag') and the synced changeset and writes to a changes.txt file in the BOM dir.
MattD <mattd@symbian.org>
parents: 584
diff changeset
   142
                <arg value="-r"/>
6f70bcc536bb source-spec.ant.xml.ftl - Added change info for the BOM that lists submitted changesets between the baseline ('sf.previous.pdk.tag') and the synced changeset and writes to a changes.txt file in the BOM dir.
MattD <mattd@symbian.org>
parents: 584
diff changeset
   143
                <arg value="${dollar}{sf.sourcesync.${count}.checksum}:${dollar}{sf.previous.pdk.tag}"/>
703
ecf2c59629fc source sync template - Changed the BOM changes targets to limit the listed changes to the branch if the source was synced up using a branch, to make it easier to read.
MattD <mattd@symbian.org>
parents: 615
diff changeset
   144
                <#if "${pkg_detail.type}"=="branch">
ecf2c59629fc source sync template - Changed the BOM changes targets to limit the listed changes to the branch if the source was synced up using a branch, to make it easier to read.
MattD <mattd@symbian.org>
parents: 615
diff changeset
   145
                <arg value="-b"/>
ecf2c59629fc source sync template - Changed the BOM changes targets to limit the listed changes to the branch if the source was synced up using a branch, to make it easier to read.
MattD <mattd@symbian.org>
parents: 615
diff changeset
   146
                <arg value="${pkg_detail.pattern}"/>
ecf2c59629fc source sync template - Changed the BOM changes targets to limit the listed changes to the branch if the source was synced up using a branch, to make it easier to read.
MattD <mattd@symbian.org>
parents: 615
diff changeset
   147
                </#if>    
615
6f70bcc536bb source-spec.ant.xml.ftl - Added change info for the BOM that lists submitted changesets between the baseline ('sf.previous.pdk.tag') and the synced changeset and writes to a changes.txt file in the BOM dir.
MattD <mattd@symbian.org>
parents: 584
diff changeset
   148
            </exec>
6f70bcc536bb source-spec.ant.xml.ftl - Added change info for the BOM that lists submitted changesets between the baseline ('sf.previous.pdk.tag') and the synced changeset and writes to a changes.txt file in the BOM dir.
MattD <mattd@symbian.org>
parents: 584
diff changeset
   149
    </target>
890
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   150
    
799
49167a0e38cf Small changes to make the output file more regular, and therefor easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 746
diff changeset
   151
    <#assign fileset = "${fileset}" + "<fileset dir=\"${ant['build.drive']}${pkg_detail.dst}\" includes=\"${pkg_detail.sysdef}\"/>\r\n        " />       
890
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   152
    <#assign sync_list = "${sync_list}" + "<runtarget target=\"sf-prebuild-${count}\"/>\r\n            "/>
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   153
    <#assign bom_list = "${bom_list}" + "<runtarget target=\"sf-bom-info-${count}\"/>\r\n        "/>
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   154
    <#assign change_list = "${change_list}" + "<runtarget target=\"sf-bom-change-info-${count}\"/>\r\n        "/>
17
c677077df18c Fix FMPP template to allow multiple repositories
shaberazvi@LON-ENGBUILD88.prod.ad.symbian.intra
parents: 7
diff changeset
   155
    <#assign count = count + 1 />
856
0e553fdaa218 Added framework for specifying a "sources.csv" for test repos (separate from both the FBF and the sources repos).
Simon Howkins <simonh@symbian.org>
parents: 799
diff changeset
   156
  </#list>
7
389e1e1f1583 Rename and move of generated source sync xml and also tidy up
shaberazvi@LON-ENGBUILD88.prod.ad.symbian.intra
parents:
diff changeset
   157
</#list>
890
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   158
    
7
389e1e1f1583 Rename and move of generated source sync xml and also tidy up
shaberazvi@LON-ENGBUILD88.prod.ad.symbian.intra
parents:
diff changeset
   159
    <path id="system.definition.files">
389e1e1f1583 Rename and move of generated source sync xml and also tidy up
shaberazvi@LON-ENGBUILD88.prod.ad.symbian.intra
parents:
diff changeset
   160
        <fileset dir="${dollar}{sf.common.config.dir}/sysdefs" includes="*.sysdef.xml"/>
389e1e1f1583 Rename and move of generated source sync xml and also tidy up
shaberazvi@LON-ENGBUILD88.prod.ad.symbian.intra
parents:
diff changeset
   161
        ${fileset}
389e1e1f1583 Rename and move of generated source sync xml and also tidy up
shaberazvi@LON-ENGBUILD88.prod.ad.symbian.intra
parents:
diff changeset
   162
    </path>
890
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   163
    
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   164
    <target name="all">
892
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 890
diff changeset
   165
        <parallel threadsPerProcessor="1" failonany="true">
890
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   166
            ${sync_list}
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   167
        </parallel>
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   168
        
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   169
        <echo message="Adding BOM header"/>
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   170
        <mkdir dir="${ant['build.drive']}/output/logs/BOM/"/>
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   171
        <echo file="${ant['build.drive']}/output/logs/BOM/sources.csv" message="source,dst,type,pattern,sysdef${dollar}{line.separator}"/>
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   172
        
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   173
        ${bom_list}
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   174
        
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   175
        <delete file="${ant['build.drive']}/output/logs/BOM/changes.txt" quiet="true"/>
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   176
        
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   177
        ${change_list}
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   178
    </target>
41f3579ef67e Indentation and other minor changes to make the file easier to read and understand.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
   179
    
615
6f70bcc536bb source-spec.ant.xml.ftl - Added change info for the BOM that lists submitted changesets between the baseline ('sf.previous.pdk.tag') and the synced changeset and writes to a changes.txt file in the BOM dir.
MattD <mattd@symbian.org>
parents: 584
diff changeset
   180
</project>