common/build.xml
author Dario Sestito <darios@symbian.org>
Fri, 01 Oct 2010 14:00:40 +0100
changeset 1275 5a935138ebeb
parent 1274 b5003eee1583
child 1279 3329abb5855b
permissions -rw-r--r--
Move addition of link to Hudson console log at the beginning of the build, so that if the build fails there is a better chance that the link is available
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
     1
<?xml version="1.0" encoding="UTF-8"?>
73
b8d6af733d6d Add first cut of packaging solution
Shabe Razvi <shaber@symbian.org>
parents: 69
diff changeset
     2
<project name="SF-COMMON-CONFIG" xmlns:hlm="http://www.nokia.com/helium">
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
     3
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
     4
    <property environment="env"/> <!-- make environment variables available via env -->
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
     5
    
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
     6
    <dirname property="sf.common.config.dir" file="${ant.file.SF-COMMON-CONFIG}"/>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
     7
    
857
c72c6eafadc6 Added new logic to deal with drive letter allocation when builds are launched from Hudson.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
     8
    <!-- If we're told that we've been invoked by Hudson, then use the executor number to determine the drive to use -->
c72c6eafadc6 Added new logic to deal with drive letter allocation when builds are launched from Hudson.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
     9
    <if>
c72c6eafadc6 Added new logic to deal with drive letter allocation when builds are launched from Hudson.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
    10
        <isset property="sf.hudson.executor.number"/>
c72c6eafadc6 Added new logic to deal with drive letter allocation when builds are launched from Hudson.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
    11
        <then>
c72c6eafadc6 Added new logic to deal with drive letter allocation when builds are launched from Hudson.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
    12
            <!-- This property could be set differently according to the varying set-ups of build parks -->
c72c6eafadc6 Added new logic to deal with drive letter allocation when builds are launched from Hudson.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
    13
            <property name="sf.hudson.executor.drive.letter.mapping" value="zyxwvutsrqponmlk"/>
c72c6eafadc6 Added new logic to deal with drive letter allocation when builds are launched from Hudson.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
    14
            <!-- Pick the Nth letter from the string using a regex -->
c72c6eafadc6 Added new logic to deal with drive letter allocation when builds are launched from Hudson.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
    15
            <!-- (Would be nice if ant gave us a more obvious way to look up an item from an array...) -->
c72c6eafadc6 Added new logic to deal with drive letter allocation when builds are launched from Hudson.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
    16
            <!-- Default string is arranged to use z: for executor 0, y: for executor 1, etc, etc. At present, SF build machines have a maximum of 4 executors -->
c72c6eafadc6 Added new logic to deal with drive letter allocation when builds are launched from Hudson.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
    17
            <propertyregex property="sf.spec.job.drive" input="${sf.hudson.executor.drive.letter.mapping}" regexp="\w{${sf.hudson.executor.number}}(\w)" select="\1:"/>
c72c6eafadc6 Added new logic to deal with drive letter allocation when builds are launched from Hudson.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
    18
        </then>
c72c6eafadc6 Added new logic to deal with drive letter allocation when builds are launched from Hudson.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
    19
    </if>
c72c6eafadc6 Added new logic to deal with drive letter allocation when builds are launched from Hudson.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
    20
    
858
f9fc2a3f8f70 Code to automatically find a physical drive for running a build, triggered as necessary.
Simon Howkins <simonh@symbian.org>
parents: 857
diff changeset
    21
    <!-- If we've not has a physical drive specified, then we'd better be able to work one out... -->
f9fc2a3f8f70 Code to automatically find a physical drive for running a build, triggered as necessary.
Simon Howkins <simonh@symbian.org>
parents: 857
diff changeset
    22
    <if>
926
86dabb8aa2dd Relocated Helium 7 *.log.dir property settings from root build.xml to common\build.xml so that 'sf.spec.job.drive' works again.
MattD <mattd@symbian.org>
parents: 923
diff changeset
    23
        <and>
86dabb8aa2dd Relocated Helium 7 *.log.dir property settings from root build.xml to common\build.xml so that 'sf.spec.job.drive' works again.
MattD <mattd@symbian.org>
parents: 923
diff changeset
    24
        <not><isset property="sf.spec.job.rootdir"/></not>
858
f9fc2a3f8f70 Code to automatically find a physical drive for running a build, triggered as necessary.
Simon Howkins <simonh@symbian.org>
parents: 857
diff changeset
    25
        <not><isset property="sf.spec.job.root.drive"/></not>
926
86dabb8aa2dd Relocated Helium 7 *.log.dir property settings from root build.xml to common\build.xml so that 'sf.spec.job.drive' works again.
MattD <mattd@symbian.org>
parents: 923
diff changeset
    26
        </and>
858
f9fc2a3f8f70 Code to automatically find a physical drive for running a build, triggered as necessary.
Simon Howkins <simonh@symbian.org>
parents: 857
diff changeset
    27
        <then>
f9fc2a3f8f70 Code to automatically find a physical drive for running a build, triggered as necessary.
Simon Howkins <simonh@symbian.org>
parents: 857
diff changeset
    28
            <exec executable="perl" outputproperty="sf.spec.job.root.drive" logerror="true" failonerror="true">
f9fc2a3f8f70 Code to automatically find a physical drive for running a build, triggered as necessary.
Simon Howkins <simonh@symbian.org>
parents: 857
diff changeset
    29
                <arg value="${sf.common.config.dir}/tools/findPhysicalDrive.pl"/>
891
6c56420d1006 Updated capabilities of findPhysicalDrive to support imminent work on locating the hg cache.
Simon Howkins <simonh@symbian.org>
parents: 889
diff changeset
    30
                <arg value="-space"/>
858
f9fc2a3f8f70 Code to automatically find a physical drive for running a build, triggered as necessary.
Simon Howkins <simonh@symbian.org>
parents: 857
diff changeset
    31
            </exec>
f9fc2a3f8f70 Code to automatically find a physical drive for running a build, triggered as necessary.
Simon Howkins <simonh@symbian.org>
parents: 857
diff changeset
    32
        </then>
f9fc2a3f8f70 Code to automatically find a physical drive for running a build, triggered as necessary.
Simon Howkins <simonh@symbian.org>
parents: 857
diff changeset
    33
    </if>
f9fc2a3f8f70 Code to automatically find a physical drive for running a build, triggered as necessary.
Simon Howkins <simonh@symbian.org>
parents: 857
diff changeset
    34
    
360
38e924ed959d Created framework for separating postbuild related activities into a separate file.
Simon Howkins <simonh@symbian.org>
parents: 358
diff changeset
    35
    <!-- Import common properties -->
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    36
    <import file="${sf.common.config.dir}/common_props.ant.xml" />
892
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
    37
    
858
f9fc2a3f8f70 Code to automatically find a physical drive for running a build, triggered as necessary.
Simon Howkins <simonh@symbian.org>
parents: 857
diff changeset
    38
    <property name="sf.spec.job.rootdir" value="${sf.spec.job.root.drive}/${sf.spec.job.root.path}"/>
892
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
    39
    <property name="sf.spec.sourcesync.sourcespecdir" value="${sf.project.location}"/>
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    40
    
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    41
    <!-- setup Helium internal properties from their equivalent in the project spec -->
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    42
    <property name="build.name" value="${sf.spec.job.name}"/>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    43
    <property name="core.build.version" value="${sf.spec.job.codeline}"/>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    44
    <property name="build.number" value="${sf.spec.job.number}"/>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    45
    <property name="build.drive" value="${sf.spec.job.drive}"/>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    46
    <property name="email.from" value="${sf.spec.email.from}"/>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    47
    <property name="local.free.space" value="${sf.spec.job.freespace}"/>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    48
    <property name="network.free.space" value="${sf.spec.publish.network.freespace}"/>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    49
    <property name="network.drive" value="${sf.spec.publish.networkdrive}"/>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    50
    <property name="prep.root.dir" value="${sf.spec.job.rootdir}"/>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    51
    <property name="publish" value="${sf.spec.publish.enable}"/>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    52
    <property name="publish.root.dir" value="${sf.spec.publish.rootdir}"/>
197
e7c76e615b76 Initial implementation of publishing to Diamonds
Dario Sestito <darios@symbian.org>
parents: 196
diff changeset
    53
    <property name="diamonds.host" value="${sf.spec.publish.diamonds.server}"/>
e7c76e615b76 Initial implementation of publishing to Diamonds
Dario Sestito <darios@symbian.org>
parents: 196
diff changeset
    54
    <property name="diamonds.port" value="${sf.spec.publish.diamonds.port}"/>
e7c76e615b76 Initial implementation of publishing to Diamonds
Dario Sestito <darios@symbian.org>
parents: 196
diff changeset
    55
    <property name="diamonds.path" value="${sf.spec.publish.diamonds.path}"/>
594
3692c6f462b4 Reviewed build category and tags
Dario Sestito <darios@symbian.org>
parents: 473
diff changeset
    56
    <property name="build.family" value="${sf.spec.job.name}"/>
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    57
    <property name="build.system" value="${sf.spec.build.system}"/>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    58
    <property name="base_release.path" value="${sf.spec.baseline.location}"/>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    59
    <property name="base_release.getenv_options" value="${sf.spec.baseline.getenv_options}"/>
389
ea20e8722576 Default BuildEnv.xml file can now be overridden by one delivered in FBF project. Check can also be skipped by setting sf.suppress.buildenv.check property.
Shabe Razvi <shaber@symbian.org>
parents: 381
diff changeset
    60
    <property name="ccm.user.password" value="set_to_any_value_to_skip_scm_checks__for_helium_5"/>
857
c72c6eafadc6 Added new logic to deal with drive letter allocation when builds are launched from Hudson.
Simon Howkins <simonh@symbian.org>
parents: 856
diff changeset
    61
    <property name="ats.drive" value="${sf.spec.ats_worker.drive}"/>
926
86dabb8aa2dd Relocated Helium 7 *.log.dir property settings from root build.xml to common\build.xml so that 'sf.spec.job.drive' works again.
MattD <mattd@symbian.org>
parents: 923
diff changeset
    62
    <property name="skip.sbs.layer.generation" value="true"/> <!-- helium 7: needs to be predefined before hlm import -->
971
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents: 950
diff changeset
    63
    <property name="qt.qmake.ant.template" value="${sf.common.config.dir}/templates/run-qmake.ant.xml.ftl"/> <!-- override helium default to use our own template -->
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents: 950
diff changeset
    64
    
926
86dabb8aa2dd Relocated Helium 7 *.log.dir property settings from root build.xml to common\build.xml so that 'sf.spec.job.drive' works again.
MattD <mattd@symbian.org>
parents: 923
diff changeset
    65
    <!-- override helium 7 defaults to operate like helium 5.
86dabb8aa2dd Relocated Helium 7 *.log.dir property settings from root build.xml to common\build.xml so that 'sf.spec.job.drive' works again.
MattD <mattd@symbian.org>
parents: 923
diff changeset
    66
       *.log.dir props dont exist yet so need to be set now, otherwise they 
86dabb8aa2dd Relocated Helium 7 *.log.dir property settings from root build.xml to common\build.xml so that 'sf.spec.job.drive' works again.
MattD <mattd@symbian.org>
parents: 923
diff changeset
    67
       become immutable after helium.ant.xml import -->
86dabb8aa2dd Relocated Helium 7 *.log.dir property settings from root build.xml to common\build.xml so that 'sf.spec.job.drive' works again.
MattD <mattd@symbian.org>
parents: 923
diff changeset
    68
      
86dabb8aa2dd Relocated Helium 7 *.log.dir property settings from root build.xml to common\build.xml so that 'sf.spec.job.drive' works again.
MattD <mattd@symbian.org>
parents: 923
diff changeset
    69
    <property name="prep.log.dir"    value="${build.drive}/output/logs"/>
1109
cae69bccf0cc Output all generated makefiles into compile subdir - to cleanup number of generated files in output\logs
Shabe Razvi <shaber@symbian.org>
parents: 1106
diff changeset
    70
    <!-- property name="compile.log.dir" value="${build.drive}/output/logs"/-->
926
86dabb8aa2dd Relocated Helium 7 *.log.dir property settings from root build.xml to common\build.xml so that 'sf.spec.job.drive' works again.
MattD <mattd@symbian.org>
parents: 923
diff changeset
    71
    <property name="post.log.dir"    value="${build.drive}/output/logs"/>
86dabb8aa2dd Relocated Helium 7 *.log.dir property settings from root build.xml to common\build.xml so that 'sf.spec.job.drive' works again.
MattD <mattd@symbian.org>
parents: 923
diff changeset
    72
    <property name="archive.log.dir"    value="${build.drive}/output/logs"/>
86dabb8aa2dd Relocated Helium 7 *.log.dir property settings from root build.xml to common\build.xml so that 'sf.spec.job.drive' works again.
MattD <mattd@symbian.org>
parents: 923
diff changeset
    73
    <property name="signals.log.dir"    value="${build.drive}/output/logs"/>
86dabb8aa2dd Relocated Helium 7 *.log.dir property settings from root build.xml to common\build.xml so that 'sf.spec.job.drive' works again.
MattD <mattd@symbian.org>
parents: 923
diff changeset
    74
     
368
cb0ec85c881d Set Raptor -j option to 2 for package builds
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
    75
    <if>
cb0ec85c881d Set Raptor -j option to 2 for package builds
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
    76
      <isset property="sf.spec.sbs.numberofjobs"/>
cb0ec85c881d Set Raptor -j option to 2 for package builds
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
    77
      <then>
cb0ec85c881d Set Raptor -j option to 2 for package builds
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
    78
        <property name="number.of.threads" value="${sf.spec.sbs.numberofjobs}"/>
cb0ec85c881d Set Raptor -j option to 2 for package builds
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
    79
      </then>
cb0ec85c881d Set Raptor -j option to 2 for package builds
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
    80
    </if>
263
5ee8d148ce40 Make BC testing more robust. Now requires PDT_HOME env var to be set rather than fail silently. Plus Logs zip tidy up.
Shabe Razvi <shaber@symbian.org>
parents: 262
diff changeset
    81
    
624
5264fdaaf0c6 Make sf.spec.job.codeline the publishing category
Dario Sestito <darios@symbian.org>
parents: 618
diff changeset
    82
    <property name="sf.diamonds.tags" value="_${sf.spec.job.codeline},${sf.spec.publish.diamonds.tag}"/>
594
3692c6f462b4 Reviewed build category and tags
Dario Sestito <darios@symbian.org>
parents: 473
diff changeset
    83
    
198
4b1e939c052c Added yarp to diamonds publishing
Dario Sestito <darios@symbian.org>
parents: 197
diff changeset
    84
    <!-- SF-specific Helium properties not meant to be exposed in the project spec -->
4b1e939c052c Added yarp to diamonds publishing
Dario Sestito <darios@symbian.org>
parents: 197
diff changeset
    85
    <property name="diamonds.listener.configuration.file" location="${sf.common.config.dir}/diamonds/config.xml.ftl"/>
4b1e939c052c Added yarp to diamonds publishing
Dario Sestito <darios@symbian.org>
parents: 197
diff changeset
    86
    
360
38e924ed959d Created framework for separating postbuild related activities into a separate file.
Simon Howkins <simonh@symbian.org>
parents: 358
diff changeset
    87
    <!-- Import all core HELIUM targets -->
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    88
    <import file="${helium.dir}/helium.ant.xml" />
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    89
    
360
38e924ed959d Created framework for separating postbuild related activities into a separate file.
Simon Howkins <simonh@symbian.org>
parents: 358
diff changeset
    90
    <!-- Import common references -->
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    91
    <import file="${sf.common.config.dir}/common_refs.ant.xml" />
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
    92
             
360
38e924ed959d Created framework for separating postbuild related activities into a separate file.
Simon Howkins <simonh@symbian.org>
parents: 358
diff changeset
    93
    <!-- Import functionality distributed into other file(s) -->
38e924ed959d Created framework for separating postbuild related activities into a separate file.
Simon Howkins <simonh@symbian.org>
parents: 358
diff changeset
    94
    <import file="${sf.common.config.dir}/build.postbuild.xml"/>
1249
96548ab09767 Add brag determination in a separate hlm call
Dario Sestito <darios@symbian.org>
parents: 1247
diff changeset
    95
    <import file="${sf.common.config.dir}/build.finalize.xml"/>
1110
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
    96
    
892
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
    97
    <!-- Import test functionality distributed into other file(s) -->
381
ad45f298ad85 Test targets seperated from "build.postbuild.xml" and put into "build.test.xml"
royt <tathagatar@symbian.org>
parents: 377
diff changeset
    98
    <import file="${sf.common.config.dir}/build.test.xml"/>
389
ea20e8722576 Default BuildEnv.xml file can now be overridden by one delivered in FBF project. Check can also be skipped by setting sf.suppress.buildenv.check property.
Shabe Razvi <shaber@symbian.org>
parents: 381
diff changeset
    99
    
914
e4c5389160b3 Fix scan_antlogs.pl execution plus fix ConE calls to use PDT_HOME env variable
Shabe Razvi <shaber@symbian.org>
parents: 913
diff changeset
   100
    <!-- helium 7+ compatability. needs to be defined -->
899
d80a65072ed8 Add Helium 7 support for package builds.
Shabe Razvi <shaber@symbian.org>
parents: 874
diff changeset
   101
    <if>
914
e4c5389160b3 Fix scan_antlogs.pl execution plus fix ConE calls to use PDT_HOME env variable
Shabe Razvi <shaber@symbian.org>
parents: 913
diff changeset
   102
      <not><or>
e4c5389160b3 Fix scan_antlogs.pl execution plus fix ConE calls to use PDT_HOME env variable
Shabe Razvi <shaber@symbian.org>
parents: 913
diff changeset
   103
        <equals arg1="${helium.version}" arg2="5.0"/>
e4c5389160b3 Fix scan_antlogs.pl execution plus fix ConE calls to use PDT_HOME env variable
Shabe Razvi <shaber@symbian.org>
parents: 913
diff changeset
   104
        <equals arg1="${last.major.helium.version}" arg2="5.0"/>
e4c5389160b3 Fix scan_antlogs.pl execution plus fix ConE calls to use PDT_HOME env variable
Shabe Razvi <shaber@symbian.org>
parents: 913
diff changeset
   105
      </or></not>
899
d80a65072ed8 Add Helium 7 support for package builds.
Shabe Razvi <shaber@symbian.org>
parents: 874
diff changeset
   106
      <then>
927
a15a7e841752 Turn off zipContentMacro failure for empty zip targets in Helium 7
Shabe Razvi <shaber@symbian.org>
parents: 926
diff changeset
   107
          <property name="sf.using.newer.than.helium5" value="true"/>
899
d80a65072ed8 Add Helium 7 support for package builds.
Shabe Razvi <shaber@symbian.org>
parents: 874
diff changeset
   108
          <property name="schema.new" value="true"/>
913
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents: 901
diff changeset
   109
          <property name="skip.sbs.parser.exception" value="true"/>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents: 901
diff changeset
   110
          
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents: 901
diff changeset
   111
          <!-- Never fail on sbs compile errors -->
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents: 901
diff changeset
   112
          <hlm:signalInput id="compileSignalInput" failbuild="never">
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents: 901
diff changeset
   113
            <hlm:notifierListRef refid="defaultFailNotifier" />
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents: 901
diff changeset
   114
          </hlm:signalInput>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents: 901
diff changeset
   115
          
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents: 901
diff changeset
   116
          <hlm:signalInput id="raptorErrorSignalInput" failbuild="never">
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents: 901
diff changeset
   117
            <hlm:notifierListRef refid="defaultFailNotifier" />
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents: 901
diff changeset
   118
          </hlm:signalInput>
972
608adae327af Prevent qmake from failing build by suppressing 'signalRunQMakeInput' signal
Shabe Razvi <shaber@symbian.org>
parents: 971
diff changeset
   119
608adae327af Prevent qmake from failing build by suppressing 'signalRunQMakeInput' signal
Shabe Razvi <shaber@symbian.org>
parents: 971
diff changeset
   120
          <hlm:signalInput id="signalRunQMakeInput" failbuild="never">
608adae327af Prevent qmake from failing build by suppressing 'signalRunQMakeInput' signal
Shabe Razvi <shaber@symbian.org>
parents: 971
diff changeset
   121
            <hlm:notifierListRef refid="defaultFailNotifier" />
608adae327af Prevent qmake from failing build by suppressing 'signalRunQMakeInput' signal
Shabe Razvi <shaber@symbian.org>
parents: 971
diff changeset
   122
          </hlm:signalInput>
1100
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   123
          
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   124
           <!-- allow use of a release_metadata.xml without all referenced files being present -->
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   125
          <hlm:signalInput id="getenvSignalInput" failbuild="never">
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   126
              <hlm:notifierListRef refid="defaultFailNotifier" />
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   127
          </hlm:signalInput>
1127
67268c5a3e6d Configure stages correctly for prep, compile and postbuild.
Shabe Razvi <shaber@symbian.org>
parents: 1117
diff changeset
   128
67268c5a3e6d Configure stages correctly for prep, compile and postbuild.
Shabe Razvi <shaber@symbian.org>
parents: 1117
diff changeset
   129
          <!-- configure stages -->
1128
14c8058c3fa1 Configure preparation stage correctly
Shabe Razvi <shaber@symbian.org>
parents: 1127
diff changeset
   130
          <hlm:stage id="preparation" starttarget="sf-prebuild" endtarget="sf-prebuild"/>
1127
67268c5a3e6d Configure stages correctly for prep, compile and postbuild.
Shabe Razvi <shaber@symbian.org>
parents: 1117
diff changeset
   131
          <hlm:stage id="compilation" starttarget="sf-compile" endtarget="sf-compile"/>
1191
5796b6eeacd9 Enable MiniGUI stripped ROM building for ARMv5 builds
Shabe Razvi <shaber@symbian.org>
parents: 1184
diff changeset
   132
          <hlm:stage id="romcreation" starttarget="sf-build-roms" endtarget="sf-build-roms"/>
1127
67268c5a3e6d Configure stages correctly for prep, compile and postbuild.
Shabe Razvi <shaber@symbian.org>
parents: 1117
diff changeset
   133
          <hlm:stage id="postbuild" starttarget="sf-postbuild" endtarget="sf-postbuild"/>
1191
5796b6eeacd9 Enable MiniGUI stripped ROM building for ARMv5 builds
Shabe Razvi <shaber@symbian.org>
parents: 1184
diff changeset
   134
          
899
d80a65072ed8 Add Helium 7 support for package builds.
Shabe Razvi <shaber@symbian.org>
parents: 874
diff changeset
   135
      </then>
d80a65072ed8 Add Helium 7 support for package builds.
Shabe Razvi <shaber@symbian.org>
parents: 874
diff changeset
   136
    </if>
d80a65072ed8 Add Helium 7 support for package builds.
Shabe Razvi <shaber@symbian.org>
parents: 874
diff changeset
   137
    
d80a65072ed8 Add Helium 7 support for package builds.
Shabe Razvi <shaber@symbian.org>
parents: 874
diff changeset
   138
    <!--
d80a65072ed8 Add Helium 7 support for package builds.
Shabe Razvi <shaber@symbian.org>
parents: 874
diff changeset
   139
      - END OF PROPERTY DEFINITIONS, TARGETS START HERE
d80a65072ed8 Add Helium 7 support for package builds.
Shabe Razvi <shaber@symbian.org>
parents: 874
diff changeset
   140
      -->
d80a65072ed8 Add Helium 7 support for package builds.
Shabe Razvi <shaber@symbian.org>
parents: 874
diff changeset
   141
    
1055
d3c5525768c5 Take envinfo.pl from the utilities repo
Dario Sestito <darios@symbian.org>
parents: 1045
diff changeset
   142
    <target name="sf-prep" depends="sf-prep-announce,prep-drive,init-build-area,create-bom,log-build-env,sf-get-utils">
367
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   143
        <!-- Test for the disk space we would like for this build -->
1110
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   144
        <fail>
367
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   145
            <condition>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   146
                <not>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   147
                    <or>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   148
                        <isset property="sf.suppress.drive.space.check"/>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   149
                        <hasfreespace partition="${build.drive}" needed="${sf.drive.space.needed}"/>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   150
                    </or>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   151
                </not>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   152
            </condition>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   153
Insufficient space to run this build to completion. (Was looking for ${sf.drive.space.needed}.) To suppress this check, set the property sf.suppress.drive.space.check to any value.
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   154
        </fail>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   155
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   156
        <tempfile property="prep.dynamic.config" suffix="ant.xml" destdir="${temp.build.dir}"/>
389
ea20e8722576 Default BuildEnv.xml file can now be overridden by one delivered in FBF project. Check can also be skipped by setting sf.suppress.buildenv.check property.
Shabe Razvi <shaber@symbian.org>
parents: 381
diff changeset
   157
829
b9c988316957 Ensured build environment is always compared with expected environment, whether or not it would abort the build because of it.
Simon Howkins <simonh@symbian.org>
parents: 792
diff changeset
   158
        <runtarget target="sf-check-env"/>
1100
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   159
        
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   160
        <!-- create zips folder for use later -->
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   161
        <mkdir dir="${build.drive}/output/zips"/>
861
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   162
        <stopwatch name="sf-prep" action="elapsed"/>
389
ea20e8722576 Default BuildEnv.xml file can now be overridden by one delivered in FBF project. Check can also be skipped by setting sf.suppress.buildenv.check property.
Shabe Razvi <shaber@symbian.org>
parents: 381
diff changeset
   163
    </target>
861
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   164
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   165
    <target name="sf-prep-announce">    
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   166
        <stopwatch name="sf-prep"/>
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   167
        <echo>[SF-PREP]</echo>
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   168
    </target>
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   169
389
ea20e8722576 Default BuildEnv.xml file can now be overridden by one delivered in FBF project. Check can also be skipped by setting sf.suppress.buildenv.check property.
Shabe Razvi <shaber@symbian.org>
parents: 381
diff changeset
   170
    <target name="sf-check-env">
1057
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   171
        <echo message="Create report on environment info"/>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   172
        <!-- Dario's environment dumper -->
1100
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   173
        <if>
1057
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   174
            <isset property="sf.spec.baseline.location"/>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   175
            <then>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   176
                <exec executable="perl" dir="${build.drive}/utilities/envinfo">
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   177
                    <arg value="envinfo.pl"/>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   178
                    <arg value="-r"/>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   179
                    <arg value="-c"/>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   180
                    <arg value="${sf.spec.baseline.location}"/>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   181
                </exec>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   182
            </then>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   183
            <else>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   184
                <exec executable="perl" dir="${build.drive}/utilities/envinfo">
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   185
                    <arg value="envinfo.pl"/>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   186
                    <arg value="-r"/>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   187
                </exec>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   188
            </else>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   189
      </if>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   190
      <echo message="Translate \output\logs\envinfo.txt into a Diamonds file"/>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   191
      <exec executable="perl" dir="${build.drive}">
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   192
          <arg value="${sf.common.config.dir}/tools/envinfo2diamonds.pl"/>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   193
      </exec>
1110
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   194
        
389
ea20e8722576 Default BuildEnv.xml file can now be overridden by one delivered in FBF project. Check can also be skipped by setting sf.suppress.buildenv.check property.
Shabe Razvi <shaber@symbian.org>
parents: 381
diff changeset
   195
        <!-- Conditional location of BuildEnv.xml. Project always preferred to default -->
ea20e8722576 Default BuildEnv.xml file can now be overridden by one delivered in FBF project. Check can also be skipped by setting sf.suppress.buildenv.check property.
Shabe Razvi <shaber@symbian.org>
parents: 381
diff changeset
   196
        <if><available file="${sf.project.location}/BuildEnv.xml"/>        
ea20e8722576 Default BuildEnv.xml file can now be overridden by one delivered in FBF project. Check can also be skipped by setting sf.suppress.buildenv.check property.
Shabe Razvi <shaber@symbian.org>
parents: 381
diff changeset
   197
            <then>
ea20e8722576 Default BuildEnv.xml file can now be overridden by one delivered in FBF project. Check can also be skipped by setting sf.suppress.buildenv.check property.
Shabe Razvi <shaber@symbian.org>
parents: 381
diff changeset
   198
                <property name="sf.buildenv.location" value="${sf.project.location}"/>
ea20e8722576 Default BuildEnv.xml file can now be overridden by one delivered in FBF project. Check can also be skipped by setting sf.suppress.buildenv.check property.
Shabe Razvi <shaber@symbian.org>
parents: 381
diff changeset
   199
            </then>
ea20e8722576 Default BuildEnv.xml file can now be overridden by one delivered in FBF project. Check can also be skipped by setting sf.suppress.buildenv.check property.
Shabe Razvi <shaber@symbian.org>
parents: 381
diff changeset
   200
            <else>
ea20e8722576 Default BuildEnv.xml file can now be overridden by one delivered in FBF project. Check can also be skipped by setting sf.suppress.buildenv.check property.
Shabe Razvi <shaber@symbian.org>
parents: 381
diff changeset
   201
                <property name="sf.buildenv.location" value="${sf.common.config.dir}/tools"/>
ea20e8722576 Default BuildEnv.xml file can now be overridden by one delivered in FBF project. Check can also be skipped by setting sf.suppress.buildenv.check property.
Shabe Razvi <shaber@symbian.org>
parents: 381
diff changeset
   202
            </else>
ea20e8722576 Default BuildEnv.xml file can now be overridden by one delivered in FBF project. Check can also be skipped by setting sf.suppress.buildenv.check property.
Shabe Razvi <shaber@symbian.org>
parents: 381
diff changeset
   203
        </if>
ea20e8722576 Default BuildEnv.xml file can now be overridden by one delivered in FBF project. Check can also be skipped by setting sf.suppress.buildenv.check property.
Shabe Razvi <shaber@symbian.org>
parents: 381
diff changeset
   204
        
ea20e8722576 Default BuildEnv.xml file can now be overridden by one delivered in FBF project. Check can also be skipped by setting sf.suppress.buildenv.check property.
Shabe Razvi <shaber@symbian.org>
parents: 381
diff changeset
   205
        <echo message="Build Env against ${sf.buildenv.location}/BuildEnv.xml"/>
604
aa36fa431e3d Added processing of the BuildEnvironmentCheck for BRAG purposes.
Simon Howkins <simonh@symbian.org>
parents: 603
diff changeset
   206
        <exec executable="perl" dir="${sf.common.config.dir}/tools" resultproperty="sf.checkenv.exit">
358
61571c10c5d0 Added Build environment check feature
ThomasE
parents: 356
diff changeset
   207
            <arg value="CheckBuildEnv.pl"/>
389
ea20e8722576 Default BuildEnv.xml file can now be overridden by one delivered in FBF project. Check can also be skipped by setting sf.suppress.buildenv.check property.
Shabe Razvi <shaber@symbian.org>
parents: 381
diff changeset
   208
            <arg value="--xml=${sf.buildenv.location}/BuildEnv.xml"/>
358
61571c10c5d0 Added Build environment check feature
ThomasE
parents: 356
diff changeset
   209
            <arg value="--dbg=${build.log.dir}/BuildEnvironmentCheck.log"/>
367
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   210
            <arg value="--sbs='${sf.spec.sbs.config}'"/>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   211
            <arg value="--tools='${sf.spec.sbs.tools.config}'"/>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   212
            <arg value="Common"/>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   213
        </exec>
880
3d35abce1659 Commented out log-to-brag call on build environment checker as its results shouldn't be brag affecting
Dario Sestito <darios@symbian.org>
parents: 874
diff changeset
   214
        <!-- antcall target="sf-log-to-brag">
647
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   215
            <param name="sf.brag.phase" value="Prebuild"/>
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   216
            <param name="sf.brag.step" value="Build Environment Check"/>
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   217
            <param name="sf.brag.log" value="${build.log.dir}/BuildEnvironmentCheck.log"/>
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   218
            <param name="sf.brag.id" value="BuildEnvironmentCheck"/>
880
3d35abce1659 Commented out log-to-brag call on build environment checker as its results shouldn't be brag affecting
Dario Sestito <darios@symbian.org>
parents: 874
diff changeset
   219
        </antcall -->
604
aa36fa431e3d Added processing of the BuildEnvironmentCheck for BRAG purposes.
Simon Howkins <simonh@symbian.org>
parents: 603
diff changeset
   220
        <fail>
aa36fa431e3d Added processing of the BuildEnvironmentCheck for BRAG purposes.
Simon Howkins <simonh@symbian.org>
parents: 603
diff changeset
   221
            <condition>
aa36fa431e3d Added processing of the BuildEnvironmentCheck for BRAG purposes.
Simon Howkins <simonh@symbian.org>
parents: 603
diff changeset
   222
                <not>
aa36fa431e3d Added processing of the BuildEnvironmentCheck for BRAG purposes.
Simon Howkins <simonh@symbian.org>
parents: 603
diff changeset
   223
                    <or>
617
637df8247b78 sf-check-env - Fixed typo causing build to always halt if 'sf.suppress.buildenv.check' isn't set.
MattD <mattd@symbian.org>
parents: 610
diff changeset
   224
                        <equals arg1="${sf.checkenv.exit}" arg2="0"/>
604
aa36fa431e3d Added processing of the BuildEnvironmentCheck for BRAG purposes.
Simon Howkins <simonh@symbian.org>
parents: 603
diff changeset
   225
                        <isset property="sf.suppress.buildenv.check"/>
aa36fa431e3d Added processing of the BuildEnvironmentCheck for BRAG purposes.
Simon Howkins <simonh@symbian.org>
parents: 603
diff changeset
   226
                    </or>
aa36fa431e3d Added processing of the BuildEnvironmentCheck for BRAG purposes.
Simon Howkins <simonh@symbian.org>
parents: 603
diff changeset
   227
                </not>
aa36fa431e3d Added processing of the BuildEnvironmentCheck for BRAG purposes.
Simon Howkins <simonh@symbian.org>
parents: 603
diff changeset
   228
            </condition>
617
637df8247b78 sf-check-env - Fixed typo causing build to always halt if 'sf.suppress.buildenv.check' isn't set.
MattD <mattd@symbian.org>
parents: 610
diff changeset
   229
Build Environment Check failed (${sf.checkenv.exit}). To stop this failure aborting the build set property sf.suppress.buildenv.check to any value.
604
aa36fa431e3d Added processing of the BuildEnvironmentCheck for BRAG purposes.
Simon Howkins <simonh@symbian.org>
parents: 603
diff changeset
   230
        </fail>
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   231
    </target>
647
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   232
1113
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   233
    <!-- Note: Not used from Helium 7 onwards -->
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   234
    <target name="generate-layers">
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   235
       <echo message="canno-file:${canonical.sysdef.file}"/>
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   236
       <echo message="raptor-filters:raptor_${sysdef.configuration}"/>
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   237
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   238
       <!-- All we want is a sysdef with the config name appended, so just copy it -->
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   239
       <echo message="INFO: Skip GenXML and copy sysdef to sysdef+config name"/>
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   240
       <copy file="${canonical.sysdef.file}" tofile="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}_temp.xml"/>
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   241
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   242
        <copy file="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}_temp.xml" tofile="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}.xml">
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   243
        <filterchain>
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   244
            <linecontainsregexp negate="true">
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   245
                <regexp pattern="^\s*$"/>
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   246
            </linecontainsregexp>
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   247
        </filterchain>
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   248
        </copy>
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   249
        <copy file="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}.xml" todir="${build.log.dir}/BOM/"/>
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   250
        <delete file="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}_temp.xml"/>
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   251
    </target>
488afbbbaebd Only load public properties if available, and restore generate-layers override to maintain Helium 5 compatibility.
Shabe Razvi <shaber@symbian.org>
parents: 1110
diff changeset
   252
366
cde2244c8ea6 First drop of script to generate build summary
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
   253
    <target name="sf-summary" depends="">
cde2244c8ea6 First drop of script to generate build summary
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
   254
        <echo>[SF-SUMMARY]</echo>
cde2244c8ea6 First drop of script to generate build summary
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
   255
        <echo message="Generating build summary"/>
cde2244c8ea6 First drop of script to generate build summary
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
   256
        <exec executable="perl" dir="${sf.common.config.dir}/tools/summary" failonerror="true">
cde2244c8ea6 First drop of script to generate build summary
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
   257
          <arg value="brag_script.pl"/>
cde2244c8ea6 First drop of script to generate build summary
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
   258
          <arg value="--buildid=${sf.spec.job.name}_${sf.spec.job.codeline}.${sf.spec.job.number}"/>
cde2244c8ea6 First drop of script to generate build summary
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
   259
          <arg value="--basedir=${sf.spec.job.rootdir}"/>
cde2244c8ea6 First drop of script to generate build summary
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
   260
        </exec>
cde2244c8ea6 First drop of script to generate build summary
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
   261
    </target>
cde2244c8ea6 First drop of script to generate build summary
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
   262
    
415
cc2965329dd1 Removed unnecessary target.
Simon Howkins <simonh@symbian.org>
parents: 414
diff changeset
   263
    <target name="sf-build-all" depends="sf-prebuild-noprep,sf-build-noprep,sf-postbuild">
cc2965329dd1 Removed unnecessary target.
Simon Howkins <simonh@symbian.org>
parents: 414
diff changeset
   264
        <echo>[SF-BUILD-ALL]</echo>
cc2965329dd1 Removed unnecessary target.
Simon Howkins <simonh@symbian.org>
parents: 414
diff changeset
   265
    </target>
cc2965329dd1 Removed unnecessary target.
Simon Howkins <simonh@symbian.org>
parents: 414
diff changeset
   266
    
159
cb50a5d37880 Added new helium target: 'sf-build-and-pack' for use if you need to babysit 'sf-prebuild'
MattD <mattd@symbian.org>
parents: 154
diff changeset
   267
    <target name="sf-build-and-pack" depends="sf-build-noprep,sf-postbuild">
cb50a5d37880 Added new helium target: 'sf-build-and-pack' for use if you need to babysit 'sf-prebuild'
MattD <mattd@symbian.org>
parents: 154
diff changeset
   268
        <echo>[SF-BUILD-AND-PACK]</echo>
cb50a5d37880 Added new helium target: 'sf-build-and-pack' for use if you need to babysit 'sf-prebuild'
MattD <mattd@symbian.org>
parents: 154
diff changeset
   269
    </target>
cb50a5d37880 Added new helium target: 'sf-build-and-pack' for use if you need to babysit 'sf-prebuild'
MattD <mattd@symbian.org>
parents: 154
diff changeset
   270
414
40b07ed8f169 Restructure sf-prebuild to ensure that sf-build-all doesnt invoke sf-prep.
Shabe Razvi <shaber@symbian.org>
parents: 397
diff changeset
   271
    <target name="sf-build" depends="sf-prebuild,sf-build-noprep,sf-postbuild">
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   272
        <echo>[SF-BUILD]</echo>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   273
    </target>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   274
    
860
fbd25e274e6b Added sf-scrub-build, for completely freeing up the resources used by a build (ie deleting it from the HD).
Simon Howkins <simonh@symbian.org>
parents: 858
diff changeset
   275
    <target name="sf-scrub-build" description="Cleans up everything left behind after a build. Danger!">
fbd25e274e6b Added sf-scrub-build, for completely freeing up the resources used by a build (ie deleting it from the HD).
Simon Howkins <simonh@symbian.org>
parents: 858
diff changeset
   276
        <if>
fbd25e274e6b Added sf-scrub-build, for completely freeing up the resources used by a build (ie deleting it from the HD).
Simon Howkins <simonh@symbian.org>
parents: 858
diff changeset
   277
            <available file="${sf.spec.job.drive}/"/>
fbd25e274e6b Added sf-scrub-build, for completely freeing up the resources used by a build (ie deleting it from the HD).
Simon Howkins <simonh@symbian.org>
parents: 858
diff changeset
   278
            <then>
fbd25e274e6b Added sf-scrub-build, for completely freeing up the resources used by a build (ie deleting it from the HD).
Simon Howkins <simonh@symbian.org>
parents: 858
diff changeset
   279
                <!-- Un-subst the drive -->
fbd25e274e6b Added sf-scrub-build, for completely freeing up the resources used by a build (ie deleting it from the HD).
Simon Howkins <simonh@symbian.org>
parents: 858
diff changeset
   280
                <hlm:unsubst drive="${sf.spec.job.drive}"/>
fbd25e274e6b Added sf-scrub-build, for completely freeing up the resources used by a build (ie deleting it from the HD).
Simon Howkins <simonh@symbian.org>
parents: 858
diff changeset
   281
            </then>
fbd25e274e6b Added sf-scrub-build, for completely freeing up the resources used by a build (ie deleting it from the HD).
Simon Howkins <simonh@symbian.org>
parents: 858
diff changeset
   282
        </if>
fbd25e274e6b Added sf-scrub-build, for completely freeing up the resources used by a build (ie deleting it from the HD).
Simon Howkins <simonh@symbian.org>
parents: 858
diff changeset
   283
        <!-- Delete build directory -->
1168
fab4ba9e8d93 Update build directory scrubber to try to deal with failure to delete one of the files if invoked immediately after building.
Simon Howkins <simonh@symbian.org>
parents: 1167
diff changeset
   284
        <delete dir="${prep.build.dir}" failonerror="false" deleteonexit="true"/>
860
fbd25e274e6b Added sf-scrub-build, for completely freeing up the resources used by a build (ie deleting it from the HD).
Simon Howkins <simonh@symbian.org>
parents: 858
diff changeset
   285
    </target>
123
5b2818c52aae Add optiona BC checking to build process
Louis Henry Nayegon <louisn@symbian.org>
parents: 114
diff changeset
   286
414
40b07ed8f169 Restructure sf-prebuild to ensure that sf-build-all doesnt invoke sf-prep.
Shabe Razvi <shaber@symbian.org>
parents: 397
diff changeset
   287
    <target name="sf-prebuild" depends="sf-prep,sf-prebuild-noprep"/>
1055
d3c5525768c5 Take envinfo.pl from the utilities repo
Dario Sestito <darios@symbian.org>
parents: 1045
diff changeset
   288
    <target name="sf-prebuild-noprep" depends="sf-prebuild-announce,sf-diamonds-connect,sf-diamonds-envinfo,sf-diamonds-tag-build,sf-getenvs,sf-syncsource,sf-diamondize-bom">
861
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   289
        <stopwatch name="sf-prebuild" action="elapsed"/>
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   290
    </target>
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   291
    
395
1f4867b1e0c1 Updated the mechanism for the conditional execution of sf-diamods-tag-build
Simon Howkins <simonh@symbian.org>
parents: 393
diff changeset
   292
    <target name="sf-prebuild-announce">
861
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   293
        <stopwatch name="sf-prebuild"/>
395
1f4867b1e0c1 Updated the mechanism for the conditional execution of sf-diamods-tag-build
Simon Howkins <simonh@symbian.org>
parents: 393
diff changeset
   294
        <echo>[SF-PREBUILD]</echo>
1184
0485a6899b9b Move build start time writing to sf-prebuild-announce
Dario Sestito <darios@symbian.org>
parents: 1177
diff changeset
   295
        <tstamp>
0485a6899b9b Move build start time writing to sf-prebuild-announce
Dario Sestito <darios@symbian.org>
parents: 1177
diff changeset
   296
          <format property="sf.build.starttime" pattern="yyyy-MM-dd HH:mm:ss" locale="en,UK"/>
0485a6899b9b Move build start time writing to sf-prebuild-announce
Dario Sestito <darios@symbian.org>
parents: 1177
diff changeset
   297
        </tstamp>
0485a6899b9b Move build start time writing to sf-prebuild-announce
Dario Sestito <darios@symbian.org>
parents: 1177
diff changeset
   298
        <echo message="started&#x0009;${sf.build.starttime}${line.separator}" file="${build.log.dir}/bitinfo.txt" append="true"/>
1275
5a935138ebeb Move addition of link to Hudson console log at the beginning of the build, so that if the build fails there is a better chance that the link is available
Dario Sestito <darios@symbian.org>
parents: 1274
diff changeset
   299
        <echo message="report&#x0009;Hudson Console Log (internal link),http://v800016.ad-sfpd.intra:8080/job/${sf.spec.job.name}/${env.BUILD_NUMBER}/console,link${line.separator}" file="${build.log.dir}/bitinfo.txt" append="true"/>
395
1f4867b1e0c1 Updated the mechanism for the conditional execution of sf-diamods-tag-build
Simon Howkins <simonh@symbian.org>
parents: 393
diff changeset
   300
    </target>
601
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   301
    
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   302
    <target name="sf-diamonds-connect">
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   303
      <if>
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   304
        <istrue value="${sf.spec.publish.enable}"/>
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   305
        <then>
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   306
          <echo>[SF-DIAMONDS-CONNECT]</echo>
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   307
          <runtarget target="diamonds"/>
602
Dario Sestito <darios@symbian.org>
parents: 599 601
diff changeset
   308
          <echo message="Save Diamonds build id value (${diamonds.build.id}) in a file"/>
Dario Sestito <darios@symbian.org>
parents: 599 601
diff changeset
   309
          <echo message="diamonds.build.id=${diamonds.build.id}" file="${build.log.dir}/diamonds_build_id.properties"/>
601
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   310
        </then>
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   311
      </if>
1158
739036c00f80 Add bitops.pl. Dump start info and envinfo to bitinfo.txt
Dario Sestito <darios@symbian.org>
parents: 1128
diff changeset
   312
      
1167
18bce39467dc Add label info to BIT db
Dario Sestito <darios@symbian.org>
parents: 1166
diff changeset
   313
      <!-- Supply build-start info in a BIT file -->
1160
7930eb17d6fc Fix: there are no tabs between attributes and values in bitinfo.txt
Dario Sestito <darios@symbian.org>
parents: 1159
diff changeset
   314
      <echo message="build_id_string&#x0009;${sf.spec.job.name}_${sf.spec.job.codeline}.${sf.spec.job.number}${line.separator}" file="${build.log.dir}/bitinfo.txt" append="true"/>
7930eb17d6fc Fix: there are no tabs between attributes and values in bitinfo.txt
Dario Sestito <darios@symbian.org>
parents: 1159
diff changeset
   315
      <echo message="package&#x0009;${sf.spec.job.name}${line.separator}" file="${build.log.dir}/bitinfo.txt" append="true"/>
7930eb17d6fc Fix: there are no tabs between attributes and values in bitinfo.txt
Dario Sestito <darios@symbian.org>
parents: 1159
diff changeset
   316
      <echo message="platform&#x0009;${sf.spec.job.codeline}${line.separator}" file="${build.log.dir}/bitinfo.txt" append="true"/>
7930eb17d6fc Fix: there are no tabs between attributes and values in bitinfo.txt
Dario Sestito <darios@symbian.org>
parents: 1159
diff changeset
   317
      <echo message="creator&#x0009;${env.USERNAME}${line.separator}" file="${build.log.dir}/bitinfo.txt" append="true"/>
7930eb17d6fc Fix: there are no tabs between attributes and values in bitinfo.txt
Dario Sestito <darios@symbian.org>
parents: 1159
diff changeset
   318
      <echo message="machine&#x0009;${env.COMPUTERNAME}${line.separator}" file="${build.log.dir}/bitinfo.txt" append="true"/>
601
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   319
    </target>
884
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   320
    
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   321
    <target name="sf-diamonds-envinfo">
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   322
      <if>
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   323
        <istrue value="${sf.spec.publish.enable}"/>
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   324
        <then>
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   325
          <echo>[SF-DIAMONDS-ENVINFO]</echo>
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   326
          <echo message="Send ${build.log.dir}/diamonds_envinfo.xml to Diamonds"/>
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   327
          <exec executable="python">
1110
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   328
            <arg value="${sf.common.config.dir}/tools/brag/send_xml_to_diamonds.py"/>
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   329
            <arg value="-u"/>
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   330
            <arg value="http://${diamonds.host}${diamonds.build.id}"/>
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   331
            <arg value="-f"/>
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   332
            <arg value="${build.log.dir}/diamonds_envinfo.xml"/>
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   333
          </exec>
884
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   334
        </then>
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   335
      </if>
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   336
    </target>
395
1f4867b1e0c1 Updated the mechanism for the conditional execution of sf-diamods-tag-build
Simon Howkins <simonh@symbian.org>
parents: 393
diff changeset
   337
377
598bc53daddb renamed 'sf-tag-build' to 'sf-diamonds-tag-build' to stop unneccessary confusion with source tagging...
MattD <mattd@symbian.org>
parents: 369
diff changeset
   338
    <target name="sf-diamonds-tag-build">
395
1f4867b1e0c1 Updated the mechanism for the conditional execution of sf-diamods-tag-build
Simon Howkins <simonh@symbian.org>
parents: 393
diff changeset
   339
      <if>
1f4867b1e0c1 Updated the mechanism for the conditional execution of sf-diamods-tag-build
Simon Howkins <simonh@symbian.org>
parents: 393
diff changeset
   340
        <istrue value="${sf.spec.publish.enable}"/>
1f4867b1e0c1 Updated the mechanism for the conditional execution of sf-diamods-tag-build
Simon Howkins <simonh@symbian.org>
parents: 393
diff changeset
   341
        <then>
1f4867b1e0c1 Updated the mechanism for the conditional execution of sf-diamods-tag-build
Simon Howkins <simonh@symbian.org>
parents: 393
diff changeset
   342
          <echo>[SF-DIAMONDS-TAG-BUILD]</echo>
601
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   343
          <echo message="Generate ${build.drive}/output/logs/sf-diamonds-tag-build.xml with Diamonds tags for this build"/>
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   344
          <exec executable="perl" dir="${sf.common.config.dir}/tools" failonerror="true">
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   345
            <arg value="${sf.common.config.dir}/tools/generate_diamonds_tags_xml.pl"/>
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   346
            <arg value="--tags=${sf.diamonds.tags}"/>
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   347
            <arg value="--output=${build.drive}/output/logs/sf-diamonds-tag-build.xml"/>
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   348
          </exec>
395
1f4867b1e0c1 Updated the mechanism for the conditional execution of sf-diamods-tag-build
Simon Howkins <simonh@symbian.org>
parents: 393
diff changeset
   349
        </then>
1f4867b1e0c1 Updated the mechanism for the conditional execution of sf-diamods-tag-build
Simon Howkins <simonh@symbian.org>
parents: 393
diff changeset
   350
      </if>
1167
18bce39467dc Add label info to BIT db
Dario Sestito <darios@symbian.org>
parents: 1166
diff changeset
   351
      <!-- Supply labels info to the BIT file -->
18bce39467dc Add label info to BIT db
Dario Sestito <darios@symbian.org>
parents: 1166
diff changeset
   352
      <for list="${sf.spec.publish.diamonds.tag}" param="label">
18bce39467dc Add label info to BIT db
Dario Sestito <darios@symbian.org>
parents: 1166
diff changeset
   353
        <sequential>
18bce39467dc Add label info to BIT db
Dario Sestito <darios@symbian.org>
parents: 1166
diff changeset
   354
          <echo message="label&#x0009;@{label}${line.separator}" file="${build.log.dir}/bitinfo.txt" append="true"/>
18bce39467dc Add label info to BIT db
Dario Sestito <darios@symbian.org>
parents: 1166
diff changeset
   355
        </sequential>
18bce39467dc Add label info to BIT db
Dario Sestito <darios@symbian.org>
parents: 1166
diff changeset
   356
      </for>
321
55c062276b22 Enable build tagging on Diamonds (default: 'test')
Dario Sestito <darios@symbian.org>
parents: 320
diff changeset
   357
    </target>
55c062276b22 Enable build tagging on Diamonds (default: 'test')
Dario Sestito <darios@symbian.org>
parents: 320
diff changeset
   358
    
396
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   359
    <target name="sf-record-proj-conf-bom">
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   360
        <!-- create BOM dir -->
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   361
        <mkdir dir="${build.drive}/output/logs/BOM"/>
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   362
        
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   363
        <!-- record config and project information in BOM files -->
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   364
        <exec executable="hg" dir="${sf.config.dir}" outputproperty="sf.job.bom.config.repo">
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   365
            <arg value="showconfig"/>
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   366
            <arg value="paths.default"/>
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   367
        </exec>
473
5a04267d3fe7 Bug 365 build-info.xml - BOM for config & project in different format to sources
Simon Howkins <simonh@symbian.org>
parents: 472
diff changeset
   368
        <propertyregex input="${sf.job.bom.config.repo}" regexp="\\" replace="/" global="true" property="sf.job.bom.config.repo" override="true"/>
396
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   369
        <exec executable="hg" dir="${sf.config.dir}" outputproperty="sf.job.bom.config.checksum">
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   370
            <arg value="identify"/>
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   371
            <arg value="-i"/>
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   372
        </exec>
471
fa59cc9be549 Bug 365 build-info.xml - BOM for config & project in different format to sources
Simon Howkins <simonh@symbian.org>
parents: 467
diff changeset
   373
        <echo message="${sf.job.bom.config.repo},sf-config,${sf.job.bom.config.checksum}" file="${build.drive}/output/logs/BOM/config.csv"/>
1173
7659931b2194 Add BOM info to the BIT db
Dario Sestito <darios@symbian.org>
parents: 1168
diff changeset
   374
        <!-- Record revision of config repository into BIT file -->
7659931b2194 Add BOM info to the BIT db
Dario Sestito <darios@symbian.org>
parents: 1168
diff changeset
   375
        <echo message="content&#x0009;config,${sf.job.bom.config.repo},${sf.job.bom.config.checksum}${line.separator}" file="${build.log.dir}/bitinfo.txt" append="true"/>
396
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   376
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   377
        <exec executable="hg" dir="${sf.project.location}" outputproperty="sf.job.bom.project.repo">
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   378
            <arg value="showconfig"/>
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   379
            <arg value="paths.default"/>
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   380
        </exec>
473
5a04267d3fe7 Bug 365 build-info.xml - BOM for config & project in different format to sources
Simon Howkins <simonh@symbian.org>
parents: 472
diff changeset
   381
        <propertyregex input="${sf.job.bom.project.repo}" regexp="\\" replace="/" global="true" property="sf.job.bom.project.repo" override="true"/>
396
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   382
        <exec executable="hg" dir="${sf.project.location}" outputproperty="sf.job.bom.project.checksum">
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   383
            <arg value="identify"/>
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   384
            <arg value="-i"/>
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   385
        </exec>
1100
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   386
        <echo message="${sf.job.bom.project.repo},build/config,${sf.job.bom.project.checksum}" file="${build.drive}/output/logs/BOM/project.csv"/>
1173
7659931b2194 Add BOM info to the BIT db
Dario Sestito <darios@symbian.org>
parents: 1168
diff changeset
   387
        <!-- Record revision of project repository into BIT file -->
7659931b2194 Add BOM info to the BIT db
Dario Sestito <darios@symbian.org>
parents: 1168
diff changeset
   388
        <echo message="content&#x0009;project,${sf.job.bom.project.repo},${sf.job.bom.project.checksum}${line.separator}" file="${build.log.dir}/bitinfo.txt" append="true"/>
396
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   389
    </target>
906
5239d4d0bed1 Take the UH parser from the utilities repo
Dario Sestito <darios@symbian.org>
parents: 901
diff changeset
   390
    
5239d4d0bed1 Take the UH parser from the utilities repo
Dario Sestito <darios@symbian.org>
parents: 901
diff changeset
   391
    <target name="sf-get-utils">
1100
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   392
      <stopwatch name="sf-get-utils"/>
1008
5600a84475d7 Rationalised indentation
Simon Howkins <simonh@symbian.org>
parents: 996
diff changeset
   393
        <echo message="Cloning utilities repository to ${build.drive}/utilities"/>
5600a84475d7 Rationalised indentation
Simon Howkins <simonh@symbian.org>
parents: 996
diff changeset
   394
        <exec executable="hg">
5600a84475d7 Rationalised indentation
Simon Howkins <simonh@symbian.org>
parents: 996
diff changeset
   395
            <arg value="clone"/>
1045
d822afc3c044 Tweaked so that all revs are cloned from the utilities web repo, but it's still synced to the head of the default branch.
Simon Howkins <simonh@symbian.org>
parents: 1008
diff changeset
   396
            <arg value="--updaterev"/>
d822afc3c044 Tweaked so that all revs are cloned from the utilities web repo, but it's still synced to the head of the default branch.
Simon Howkins <simonh@symbian.org>
parents: 1008
diff changeset
   397
            <arg value="default"/>
1008
5600a84475d7 Rationalised indentation
Simon Howkins <simonh@symbian.org>
parents: 996
diff changeset
   398
            <arg value="http://developer.symbian.org/oss/MCL/sftools/fbf/utilities"/>
5600a84475d7 Rationalised indentation
Simon Howkins <simonh@symbian.org>
parents: 996
diff changeset
   399
            <arg value="${build.drive}/utilities"/>
5600a84475d7 Rationalised indentation
Simon Howkins <simonh@symbian.org>
parents: 996
diff changeset
   400
        </exec>
1173
7659931b2194 Add BOM info to the BIT db
Dario Sestito <darios@symbian.org>
parents: 1168
diff changeset
   401
        <exec executable="hg" dir="${build.drive}/utilities" outputproperty="sf.job.bom.utilities.checksum">
7659931b2194 Add BOM info to the BIT db
Dario Sestito <darios@symbian.org>
parents: 1168
diff changeset
   402
            <arg value="identify"/>
7659931b2194 Add BOM info to the BIT db
Dario Sestito <darios@symbian.org>
parents: 1168
diff changeset
   403
            <arg value="-i"/>
7659931b2194 Add BOM info to the BIT db
Dario Sestito <darios@symbian.org>
parents: 1168
diff changeset
   404
        </exec>
7659931b2194 Add BOM info to the BIT db
Dario Sestito <darios@symbian.org>
parents: 1168
diff changeset
   405
        <!-- Record revision of utilities repository into BIT file -->
7659931b2194 Add BOM info to the BIT db
Dario Sestito <darios@symbian.org>
parents: 1168
diff changeset
   406
        <echo message="content&#x0009;utilities,http://developer.symbian.org/oss/MCL/sftools/fbf/utilities,${sf.job.bom.utilities.checksum}${line.separator}" file="${build.log.dir}/bitinfo.txt" append="true"/>
1100
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   407
      <stopwatch name="sf-get-utils" action="elapsed"/>
906
5239d4d0bed1 Take the UH parser from the utilities repo
Dario Sestito <darios@symbian.org>
parents: 901
diff changeset
   408
    </target>
396
178a6d6661b3 Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
Simon Howkins <simonh@symbian.org>
parents: 395
diff changeset
   409
397
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   410
    <target name="sf-getenvs">
861
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   411
        <stopwatch name="sf-getenvs"/>
721
555e9b4085ea Removed unnecessary dependencies, to untangle the dependency graph a little.
Simon Howkins <simonh@symbian.org>
parents: 698
diff changeset
   412
        <!-- create BOM dir -->
555e9b4085ea Removed unnecessary dependencies, to untangle the dependency graph a little.
Simon Howkins <simonh@symbian.org>
parents: 698
diff changeset
   413
        <mkdir dir="${build.drive}/output/logs/BOM"/>
555e9b4085ea Removed unnecessary dependencies, to untangle the dependency graph a little.
Simon Howkins <simonh@symbian.org>
parents: 698
diff changeset
   414
        
397
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   415
        <!-- tools baseline must come before epoc baseline to allow clean listing -->
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   416
        <touch file="${build.drive}/output/logs/BOM/toolsbaseline.txt"/>
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   417
        <if>
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   418
            <istrue value="${sf.spec.toolsbaseline.enable}" />
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   419
            <then>
861
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   420
                <stopwatch name="sf-getenvs (tools)"/>
397
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   421
1173
7659931b2194 Add BOM info to the BIT db
Dario Sestito <darios@symbian.org>
parents: 1168
diff changeset
   422
                <!-- record toolsbaseline information in BOM file and in BIT file -->
397
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   423
                <echo message="${sf.spec.toolsbaseline.location}" file="${build.drive}/output/logs/BOM/toolsbaseline.txt"/>
1177
10860abeede6 Push baseline info to BIT db
Dario Sestito <darios@symbian.org>
parents: 1173
diff changeset
   424
                <echo message="baseline&#x0009;toolsbaseline${sf.spec.toolsbaseline.location}${line.separator}" file="${build.log.dir}/bitinfo.txt" append="true"/>
397
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   425
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   426
                <!-- wrapper around preparation-getenv but with diff params -->
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   427
                <runtarget target="sf-getenv-tools"/>
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   428
                
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   429
                <echo message="INFO Getting tools environment listing"/>
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   430
                <exec executable="perl" dir="${build.log.dir}/" failonerror="true" output="${build.log.dir}/listdir_${build.id}_toolsbaseline.log">
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   431
                    <arg value="${sf.common.config.dir}/tools/listdir.pl"/>
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   432
                    <arg value="${build.drive}/epoc32"/>
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   433
                </exec>
861
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   434
                <stopwatch name="sf-getenvs (tools)" action="elapsed"/>
397
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   435
            </then>
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   436
        </if>        
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   437
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   438
        <touch file="${build.drive}/output/logs/BOM/baseline.txt"/>
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   439
        <if>
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   440
            <istrue value="${sf.spec.baseline.enable}" />
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   441
            <then>
861
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   442
                <stopwatch name="sf-getenvs (baseline)"/>
1173
7659931b2194 Add BOM info to the BIT db
Dario Sestito <darios@symbian.org>
parents: 1168
diff changeset
   443
                <!-- record baseline information in BOM file and in BIT file -->
397
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   444
                <echo message="${sf.spec.baseline.location}" file="${build.drive}/output/logs/BOM/baseline.txt"/>
1177
10860abeede6 Push baseline info to BIT db
Dario Sestito <darios@symbian.org>
parents: 1173
diff changeset
   445
                <echo message="baseline&#x0009;baseline,${sf.spec.baseline.location}${line.separator}" file="${build.log.dir}/bitinfo.txt" append="true"/>
10860abeede6 Push baseline info to BIT db
Dario Sestito <darios@symbian.org>
parents: 1173
diff changeset
   446
                <propertyregex property="sf.baseline.version" override="true" input="${sf.spec.baseline.location}" regexp=".*\\(.*)" select="\1" global="true" casesensitive="false"/>
10860abeede6 Push baseline info to BIT db
Dario Sestito <darios@symbian.org>
parents: 1173
diff changeset
   447
                <echo message="baseline_short&#x0009;${sf.baseline.version}${line.separator}" file="${build.log.dir}/bitinfo.txt" append="true"/>
397
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   448
                
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   449
                <!-- run internal target preparation-getenv -->
1100
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   450
                <delete file="${build.drive}/currentRelease.xml"/>        
397
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   451
                <runtarget target="preparation-getenv"/>
861
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   452
                <stopwatch name="sf-getenvs (baseline)" action="elapsed"/>
397
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   453
            </then>
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   454
        </if>
861
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   455
        <stopwatch name="sf-getenvs" action="elapsed"/>
397
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   456
    </target>
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   457
142
247e27021cd0 Add <sf-getenv-tools> target to unpack tools baseline and also <sf-build-smoketestpkg> to create smoketest package to be sent to ATS3 server
Shabe Razvi <shaber@symbian.org>
parents: 141
diff changeset
   458
    <target name="sf-getenv-tools">
247e27021cd0 Add <sf-getenv-tools> target to unpack tools baseline and also <sf-build-smoketestpkg> to create smoketest package to be sent to ATS3 server
Shabe Razvi <shaber@symbian.org>
parents: 141
diff changeset
   459
        <antcall target="preparation-getenv" inheritAll="false">
247e27021cd0 Add <sf-getenv-tools> target to unpack tools baseline and also <sf-build-smoketestpkg> to create smoketest package to be sent to ATS3 server
Shabe Razvi <shaber@symbian.org>
parents: 141
diff changeset
   460
            <param name="base_release.path"           value="${sf.spec.toolsbaseline.location}"/>
247e27021cd0 Add <sf-getenv-tools> target to unpack tools baseline and also <sf-build-smoketestpkg> to create smoketest package to be sent to ATS3 server
Shabe Razvi <shaber@symbian.org>
parents: 141
diff changeset
   461
            <param name="base_release.getenv_options" value="${sf.spec.toolsbaseline.getenv_options}"/>
247e27021cd0 Add <sf-getenv-tools> target to unpack tools baseline and also <sf-build-smoketestpkg> to create smoketest package to be sent to ATS3 server
Shabe Razvi <shaber@symbian.org>
parents: 141
diff changeset
   462
        </antcall>
247e27021cd0 Add <sf-getenv-tools> target to unpack tools baseline and also <sf-build-smoketestpkg> to create smoketest package to be sent to ATS3 server
Shabe Razvi <shaber@symbian.org>
parents: 141
diff changeset
   463
    </target>
247e27021cd0 Add <sf-getenv-tools> target to unpack tools baseline and also <sf-build-smoketestpkg> to create smoketest package to be sent to ATS3 server
Shabe Razvi <shaber@symbian.org>
parents: 141
diff changeset
   464
397
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   465
    <target name="sf-syncsource">
861
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   466
        <stopwatch name="sf-syncsource"/>
397
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   467
        <touch file="${build.log.dir}/BOM/sources.csv"/> 
866
9dc266797c72 Changed the way that the sf.spec.sourcesync.enable property is used to control the syncing, so that it can sync test repos even if it's not syncing any source repos.
Simon Howkins <simonh@symbian.org>
parents: 865
diff changeset
   468
        <runtarget target="sf-get-source"/>                
397
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   469
        <if>
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   470
            <istrue value="${sf.spec.sourcesync.enable}" />
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   471
            <then>
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   472
                <runtarget target="sf-package-source"/>                
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   473
                <runtarget target="sf-unpack-rnd"/>
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   474
            </then>
866
9dc266797c72 Changed the way that the sf.spec.sourcesync.enable property is used to control the syncing, so that it can sync test repos even if it's not syncing any source repos.
Simon Howkins <simonh@symbian.org>
parents: 865
diff changeset
   475
        </if>
861
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   476
        <stopwatch name="sf-syncsource" action="elapsed"/>
397
3a9cb357ea5d Separated download of baselines, syncing of source and "diamondizing" the BOM into completely separate targets.
Simon Howkins <simonh@symbian.org>
parents: 396
diff changeset
   477
    </target>
892
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   478
    
865
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   479
    <target name="sf-get-source" depends="sf-generate-source-spec">
889
89a04d480b55 Added profiling timer to sf-get-source target.
Simon Howkins <simonh@symbian.org>
parents: 884
diff changeset
   480
        <stopwatch name="sf-get-source"/>
1247
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   481
        <!-- Get test manifest, and move resolved csv so that it doesnt conflict with source-spec.ant.xml -->
1100
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   482
        <if>
1247
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   483
            <istrue value="${sf.spec.smoketest.enable}"/>
1100
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   484
            <then>
1247
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   485
                <ant antfile="${temp.build.dir}/source-test-spec.ant.xml" />
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   486
                <move file="${build.drive}/output/logs/BOM/sources.csv" tofile="${build.drive}/output/logs/BOM/sources_test.csv"/>
1100
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   487
            </then>
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   488
        </if>
1247
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   489
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   490
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   491
        <if><available file="${temp.build.dir}/source-rnd-spec.ant.xml"/>
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   492
          <then>
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   493
              <ant antfile="${temp.build.dir}/source-rnd-spec.ant.xml" />
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   494
              <move file="${build.drive}/output/logs/BOM/sources.csv" tofile="${build.drive}/output/logs/BOM/sources_rnd.csv"/>
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   495
          </then>
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   496
        </if>
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   497
        
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   498
        <ant antfile="${temp.build.dir}/source-spec.ant.xml" />
889
89a04d480b55 Added profiling timer to sf-get-source target.
Simon Howkins <simonh@symbian.org>
parents: 884
diff changeset
   499
        <stopwatch name="sf-get-source" action="elapsed"/>
865
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   500
    </target>
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   501
    
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   502
    <target name="sf-generate-source-spec">
892
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   503
        <!-- If we've not had a cache specified, but we should use one, then work one out... -->
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   504
        <if>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   505
            <and>    
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   506
                <istrue value="${sf.spec.sourcesync.usecache}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   507
                <not><isset property="sf.spec.sourcesync.cachelocation"/></not>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   508
            </and>
865
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   509
            <then>
892
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   510
                <!-- Iterate through drives to look for an existing cache -->
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   511
                <exec executable="perl" outputproperty="sf.spec.sourcesync.all.drives" logerror="true" failonerror="true">
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   512
                    <arg value="${sf.common.config.dir}/tools/findPhysicalDrive.pl"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   513
                    <arg value="-all"/>
865
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   514
                </exec>
892
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   515
                <for list="${sf.spec.all.drives}" param="physical.drive">
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   516
                    <sequential>
895
5b76b79b6713 Add missing /
Simon Howkins <simonh@symbian.org>
parents: 892
diff changeset
   517
                        <available property="sf.spec.sourcesync.cachelocation" value="@{physical.drive}/${sf.spec.sourcesync.cache.path}" file="@{physical.drive}/${sf.spec.sourcesync.cache.path}" type="dir"/>
892
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   518
                    </sequential>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   519
                </for>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   520
                <if>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   521
                    <not><isset property="sf.spec.sourcesync.cachelocation"/></not>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   522
                    <then>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   523
                        <!-- No existing cache - locate the preferred drive for creating one -->
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   524
                        <exec executable="perl" outputproperty="sf.spec.sourcesync.largest.drive" logerror="true" failonerror="true">
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   525
                            <arg value="${sf.common.config.dir}/tools/findPhysicalDrive.pl"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   526
                            <arg value="-capacity"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   527
                        </exec>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   528
                        <property name="sf.spec.sourcesync.cachelocation" value="${sf.spec.sourcesync.largest.drive}/${sf.spec.sourcesync.cache.path}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   529
                        <mkdir dir="${sf.spec.sourcesync.cachelocation}"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   530
                    </then>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   531
                </if>
865
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   532
            </then>
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   533
        </if>
892
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   534
        
865
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   535
        <!-- TODO: 1. Same file name souce-spec.ant.xml is used for all packages
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   536
        for multiple package builds, this needs to be linked with package name. -->
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   537
        <!-- TODO: 2. Change fmpp data to be a full property rather than relative path -->
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   538
        <delete file="${temp.build.dir}/source-spec.ant.xml"/>
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   539
        
1247
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   540
        <property name="sf.test.csv.file" value="nul:"/>
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   541
        
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   542
        <if>
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   543
            <istrue value="${sf.spec.sourcesync.enable}" />
866
9dc266797c72 Changed the way that the sf.spec.sourcesync.enable property is used to control the syncing, so that it can sync test repos even if it's not syncing any source repos.
Simon Howkins <simonh@symbian.org>
parents: 865
diff changeset
   544
            <then>
1247
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   545
                <property name="sf.source.csv.file" value="${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile}"/>
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   546
                <property name="sf.source_rnd.csv.file" value="${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile.rnd}"/>
866
9dc266797c72 Changed the way that the sf.spec.sourcesync.enable property is used to control the syncing, so that it can sync test repos even if it's not syncing any source repos.
Simon Howkins <simonh@symbian.org>
parents: 865
diff changeset
   547
            </then>
9dc266797c72 Changed the way that the sf.spec.sourcesync.enable property is used to control the syncing, so that it can sync test repos even if it's not syncing any source repos.
Simon Howkins <simonh@symbian.org>
parents: 865
diff changeset
   548
        </if>
1247
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   549
        <property name="sf.source.csv.file"     value="nul:"/>
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   550
        <property name="sf.source_rnd.csv.file" value="nul:"/>
865
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   551
1247
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   552
        <fmpp sourceFile="${sf.common.config.dir}/templates/source-spec.ant.xml.ftl"
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   553
              outputFile="${temp.build.dir}/source-spec.ant.xml">
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   554
              <data expandProperties="yes">
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   555
                    ant: antProperties()
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   556
                    data: [
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   557
                        csv(${sf.source.csv.file}, {separator:','})
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   558
                    ]
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   559
              </data>
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   560
        </fmpp>
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   561
		
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   562
        <if><available file="${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile.rnd}"/>
1110
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   563
          <then>
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   564
            <fmpp sourceFile="${sf.common.config.dir}/templates/source-spec.ant.xml.ftl"
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   565
                  outputFile="${temp.build.dir}/source-rnd-spec.ant.xml">
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   566
                  <data expandProperties="yes">
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   567
                        ant: antProperties()
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   568
                        data: [
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   569
                            csv(${sf.source_rnd.csv.file}, {separator:','})
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   570
                        ]
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   571
                  </data>
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   572
            </fmpp>
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   573
          </then>
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   574
        </if>
1100
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   575
        <if>
1247
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   576
            <istrue value="${sf.spec.smoketest.enable}"/>
1100
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   577
            <then>
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   578
            <fmpp sourceFile="${sf.common.config.dir}/templates/source-spec.ant.xml.ftl"
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   579
                  outputFile="${temp.build.dir}/source-test-spec.ant.xml">
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   580
                  <data expandProperties="yes">
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   581
                        ant: antProperties()
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   582
                        data: [
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   583
                            csv(${sf.test.csv.file}, {separator:','})
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   584
                        ]
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   585
                  </data>
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   586
            </fmpp>
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   587
            </then>
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   588
        </if>
865
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   589
    </target>
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   590
    
84
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   591
    <!-- generate dir list using passed location and name 
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   592
    if a baseline list is available then generate deltas too -->
62
2771e394c9bd Catchup from main repo
DarioS@UK-DarioS.symbian.int
parents: 61 40
diff changeset
   593
84
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   594
    <target name="sf-list-dir">
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   595
        <property name="sf.currentlist.name"   value="${sf.list.name}"/> 
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   596
        <property name="sf.dir.location" value="${build.drive}/epoc32"/> 
351
a4c764727769 sf-list-dir - added new tool 'listdir.py' which can exclude a directory and changed the behaviour of sf-list-dir to stop scanning epoc32/build to speed things up.
MattD <mattd@symbian.org>
parents: 350
diff changeset
   597
        <property name="sf.dir.exclude" value="${build.drive}/epoc32/build"/> 
84
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   598
    
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   599
        <if>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   600
            <istrue value="${sf.spec.dirlist.enable}"/>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   601
            <then>
351
a4c764727769 sf-list-dir - added new tool 'listdir.py' which can exclude a directory and changed the behaviour of sf-list-dir to stop scanning epoc32/build to speed things up.
MattD <mattd@symbian.org>
parents: 350
diff changeset
   602
                <echo message="Dirlist name: ${sf.currentlist.name} requested for ${sf.dir.location} excluding ${sf.dir.exclude}"/>
996
64899060ea4d Improve exclusion list generation for tools build
Shabe Razvi <shaber@symbian.org>
parents: 972
diff changeset
   603
                <exec executable="python" dir="${build.drive}/" failonerror="true" output="${build.log.dir}/listdir_${build.id}_${sf.currentlist.name}.log">
351
a4c764727769 sf-list-dir - added new tool 'listdir.py' which can exclude a directory and changed the behaviour of sf-list-dir to stop scanning epoc32/build to speed things up.
MattD <mattd@symbian.org>
parents: 350
diff changeset
   604
                    <arg value="${sf.common.config.dir}/tools/listdir.py"/>
84
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   605
                    <arg value="${sf.dir.location}"/>
351
a4c764727769 sf-list-dir - added new tool 'listdir.py' which can exclude a directory and changed the behaviour of sf-list-dir to stop scanning epoc32/build to speed things up.
MattD <mattd@symbian.org>
parents: 350
diff changeset
   606
                    <arg value="${sf.dir.exclude}"/>
84
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   607
                </exec>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   608
            </then>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   609
        </if>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   610
    </target>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   611
    
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   612
    <target name="sf-delta-dir">
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   613
        <property name="sf.currentlist_a.name"   value="${sf.list_a.name}"/> 
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   614
        <property name="sf.currentlist_b.name"   value="${sf.list_b.name}"/>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   615
        <property name="sf.dir.location" value="${build.drive}/epoc32"/> 
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   616
        
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   617
        <if>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   618
            <istrue value="${sf.spec.dirdelta.enable}"/>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   619
            <then>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   620
                <echo message="Delta requested for ${sf.currentlist_a.name} vs ${sf.currentlist_b.name} "/>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   621
                <exec executable="perl" dir="${build.log.dir}/" failonerror="true" output="${build.log.dir}/listdir_${build.id}_${sf.currentlist_b.name}_delta.log">
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   622
                    <arg value="${sf.common.config.dir}/tools/difflist.pl"/>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   623
                    <arg value="${build.log.dir}/listdir_${build.id}_${sf.currentlist_a.name}.log"/>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   624
                    <arg value="${build.log.dir}/listdir_${build.id}_${sf.currentlist_b.name}.log"/>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   625
                </exec>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   626
            </then>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   627
        </if>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   628
    </target>
62
2771e394c9bd Catchup from main repo
DarioS@UK-DarioS.symbian.int
parents: 61 40
diff changeset
   629
  
65
0099c046d4f3 Add intersection target to FBF
ShabeR@UK-SHABER
parents: 63
diff changeset
   630
    <target name="sf-intersect-dir">
84
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   631
        <property name="sf.currentlist_a.name"   value="${sf.list_a.name}"/> 
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   632
        <property name="sf.currentlist_b.name"   value="${sf.list_b.name}"/>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   633
        <property name="sf.dir.location" value="${build.drive}/epoc32"/> 
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   634
    
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   635
        <if>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   636
            <istrue value="${sf.spec.dirdelta.enable}"/>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   637
            <then>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   638
                <echo message="Inersection requested for ${sf.currentlist_a.name} vs ${sf.currentlist_b.name} "/>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   639
                <exec executable="perl" dir="${build.log.dir}/" failonerror="true" output="${build.log.dir}/listdir_${build.id}_${sf.currentlist_b.name}_intersect.log">
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   640
                    <arg value="${sf.common.config.dir}/tools/difflist.pl"/>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   641
                    <arg value="${build.log.dir}/listdir_${build.id}_${sf.currentlist_a.name}.log"/>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   642
                    <arg value="${build.log.dir}/listdir_${build.id}_${sf.currentlist_b.name}.log"/>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   643
                    <arg value="-I"/> <!-- run difflist in intersect mode -->
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   644
                </exec>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   645
            </then>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   646
        </if>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   647
    </target>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   648
721
555e9b4085ea Removed unnecessary dependencies, to untangle the dependency graph a little.
Simon Howkins <simonh@symbian.org>
parents: 698
diff changeset
   649
    <!-- This target is overridden in platform builds, but used directly in package builds -->
899
d80a65072ed8 Add Helium 7 support for package builds.
Shabe Razvi <shaber@symbian.org>
parents: 874
diff changeset
   650
    <target name="sf-build-noprep" depends="sf-truclean,sf-model-from-project,sf-compile,sf-postbuild">
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   651
        <echo>[SF-BUILD-NOPREP]</echo>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   652
    </target>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   653
    
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   654
    <target name="create-canonical-sysdef-file">
347
94b4a136d800 Simplified create-canonical-sysdef-file so that it's just a simple copy.
Simon Howkins <simonh@symbian.org>
parents: 346
diff changeset
   655
      <copy file="${build.drive}/${sf.spec.systemdefinition.location}" tofile="${canonical.sysdef.file}" failonerror="true" verbose="true"/>
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   656
    </target>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   657
    
240
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   658
  <target name="sf-truclean">
861
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   659
    <stopwatch name="sf-truclean"/>
240
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   660
    <if>
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   661
      <istrue value="${sf.spec.build.clean.enable}"/>
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   662
      <then>
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   663
        <echo message="Executing truclean step."/>
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   664
        <fmpp sourceFile="${sf.common.config.dir}/templates/truclean.ant.xml.ftl"
681
eeab5a04dc46 Updated throughout to use the "temp_build_files" dir on the build drive rather than the "generated" directory in the fbf source tree.
Simon Howkins <simonh@symbian.org>
parents: 679
diff changeset
   665
            outputFile="${temp.build.dir}/truclean.ant.xml">
240
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   666
          <data expandProperties="yes">
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   667
              ant: antProperties()
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   668
              data: csv(${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile}, {separator:','})
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   669
          </data>
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   670
        </fmpp>
681
eeab5a04dc46 Updated throughout to use the "temp_build_files" dir on the build drive rather than the "generated" directory in the fbf source tree.
Simon Howkins <simonh@symbian.org>
parents: 679
diff changeset
   671
        <ant antfile="${temp.build.dir}/truclean.ant.xml"/>
240
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   672
      </then>
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   673
      <else>
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   674
        <echo message="Skipping truclean step."/>
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   675
      </else>
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   676
    </if>
861
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   677
    <stopwatch name="sf-truclean" action="elapsed"/>
240
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   678
  </target>
325
779cc88ed845 Allow subprojects within a project repo and model file relative to the subproject dir
Dario Sestito <darios@symbian.org>
parents: 321
diff changeset
   679
  
779cc88ed845 Allow subprojects within a project repo and model file relative to the subproject dir
Dario Sestito <darios@symbian.org>
parents: 321
diff changeset
   680
  <target name="sf-model-from-project">
861
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   681
    <stopwatch name="sf-model-from-project"/>
325
779cc88ed845 Allow subprojects within a project repo and model file relative to the subproject dir
Dario Sestito <darios@symbian.org>
parents: 321
diff changeset
   682
    <if>
779cc88ed845 Allow subprojects within a project repo and model file relative to the subproject dir
Dario Sestito <darios@symbian.org>
parents: 321
diff changeset
   683
      <isset property="sf.spec.systemdefinition.source"/>
779cc88ed845 Allow subprojects within a project repo and model file relative to the subproject dir
Dario Sestito <darios@symbian.org>
parents: 321
diff changeset
   684
      <then>
779cc88ed845 Allow subprojects within a project repo and model file relative to the subproject dir
Dario Sestito <darios@symbian.org>
parents: 321
diff changeset
   685
        <echo message="Using ${sf.spec.systemdefinition.source} as model file"/>
779cc88ed845 Allow subprojects within a project repo and model file relative to the subproject dir
Dario Sestito <darios@symbian.org>
parents: 321
diff changeset
   686
        <echo message="Copying to ${build.drive}/definition.xml"/>
345
26128bd2e266 Un-hardwired an interim location for the system definition.
Simon Howkins <simonh@symbian.org>
parents: 343
diff changeset
   687
        <copy file="${sf.project.location}/${sf.spec.systemdefinition.source}" tofile="${build.drive}${sf.spec.systemdefinition.location}"/>
325
779cc88ed845 Allow subprojects within a project repo and model file relative to the subproject dir
Dario Sestito <darios@symbian.org>
parents: 321
diff changeset
   688
      </then>
330
f2e8947e085a Added invokation to build.xml and adjusted path to backup locations to match my development environment.
Simon Howkins <simonh@symbian.org>
parents: 326
diff changeset
   689
      <else>
f2e8947e085a Added invokation to build.xml and adjusted path to backup locations to match my development environment.
Simon Howkins <simonh@symbian.org>
parents: 326
diff changeset
   690
        <!-- Collate the system definition from the packages listed in sources.csv -->
343
9b3d3d909bde Added some diagnostic output when the system definition is built from the sources.csv file.
Simon Howkins <simonh@symbian.org>
parents: 336
diff changeset
   691
        <echo message="Building system model from ${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile}"/>
332
72ceabdbb597 Should fail the build if we can't generate the system model.
Simon Howkins <simonh@symbian.org>
parents: 331
diff changeset
   692
        <exec executable="perl" dir="${build.drive}/" output="${build.drive}${sf.spec.systemdefinition.location}" logError="true" failonerror="true">
330
f2e8947e085a Added invokation to build.xml and adjusted path to backup locations to match my development environment.
Simon Howkins <simonh@symbian.org>
parents: 326
diff changeset
   693
          <arg value="${sf.common.config.dir}/tools/csvToSysDef.pl"/>
f2e8947e085a Added invokation to build.xml and adjusted path to backup locations to match my development environment.
Simon Howkins <simonh@symbian.org>
parents: 326
diff changeset
   694
          <arg value="${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile}"/>
658
dd5f923b7f91 Make csvToSysDef.pl work with codelines different than 3k
Dario Sestito <darios@symbian.org>
parents: 648
diff changeset
   695
          <arg value="${sf.config.dir}/../build/config/${sf.spec.job.codeline}"/>
330
f2e8947e085a Added invokation to build.xml and adjusted path to backup locations to match my development environment.
Simon Howkins <simonh@symbian.org>
parents: 326
diff changeset
   696
        </exec>
f2e8947e085a Added invokation to build.xml and adjusted path to backup locations to match my development environment.
Simon Howkins <simonh@symbian.org>
parents: 326
diff changeset
   697
      </else>
325
779cc88ed845 Allow subprojects within a project repo and model file relative to the subproject dir
Dario Sestito <darios@symbian.org>
parents: 321
diff changeset
   698
    </if>
861
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   699
    <stopwatch name="sf-model-from-project" action="elapsed"/>
325
779cc88ed845 Allow subprojects within a project repo and model file relative to the subproject dir
Dario Sestito <darios@symbian.org>
parents: 321
diff changeset
   700
  </target>
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   701
    
471
fa59cc9be549 Bug 365 build-info.xml - BOM for config & project in different format to sources
Simon Howkins <simonh@symbian.org>
parents: 467
diff changeset
   702
    <target name="sf-diamondize-bom" depends="sf-record-proj-conf-bom">
472
296ea0545429 Removed conditional around the creation of the build-info.xml - no reason to not do this just because it won't be published later.
Simon Howkins <simonh@symbian.org>
parents: 471
diff changeset
   703
        <fmpp sourceFile="${sf.common.config.dir}/templates/build-info.xml.ftl"
296ea0545429 Removed conditional around the creation of the build-info.xml - no reason to not do this just because it won't be published later.
Simon Howkins <simonh@symbian.org>
parents: 471
diff changeset
   704
              outputFile="${build.drive}/output/logs/sf-diamondize-bom.xml">
296ea0545429 Removed conditional around the creation of the build-info.xml - no reason to not do this just because it won't be published later.
Simon Howkins <simonh@symbian.org>
parents: 471
diff changeset
   705
            <data expandProperties="yes">
296ea0545429 Removed conditional around the creation of the build-info.xml - no reason to not do this just because it won't be published later.
Simon Howkins <simonh@symbian.org>
parents: 471
diff changeset
   706
                ant: antProperties()
296ea0545429 Removed conditional around the creation of the build-info.xml - no reason to not do this just because it won't be published later.
Simon Howkins <simonh@symbian.org>
parents: 471
diff changeset
   707
                config: csv(${build.drive}/output/logs/BOM/config.csv,{separator:',',headers:[loc,dst,rev]})
296ea0545429 Removed conditional around the creation of the build-info.xml - no reason to not do this just because it won't be published later.
Simon Howkins <simonh@symbian.org>
parents: 471
diff changeset
   708
                project: csv(${build.drive}/output/logs/BOM/project.csv,{separator:',',headers:[loc,dst,rev]})
296ea0545429 Removed conditional around the creation of the build-info.xml - no reason to not do this just because it won't be published later.
Simon Howkins <simonh@symbian.org>
parents: 471
diff changeset
   709
                baseline: slicedText(${build.drive}/output/logs/BOM/baseline.txt,{trim})
296ea0545429 Removed conditional around the creation of the build-info.xml - no reason to not do this just because it won't be published later.
Simon Howkins <simonh@symbian.org>
parents: 471
diff changeset
   710
                toolsbaseline: slicedText(${build.drive}/output/logs/BOM/toolsbaseline.txt,{trim})
1100
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   711
                sources: csv(${build.drive}/output/logs/BOM/sources.csv, {separator:',',headers:[loc,dst,type,rev,sysdef]})
472
296ea0545429 Removed conditional around the creation of the build-info.xml - no reason to not do this just because it won't be published later.
Simon Howkins <simonh@symbian.org>
parents: 471
diff changeset
   712
            </data>
296ea0545429 Removed conditional around the creation of the build-info.xml - no reason to not do this just because it won't be published later.
Simon Howkins <simonh@symbian.org>
parents: 471
diff changeset
   713
        </fmpp>
296ea0545429 Removed conditional around the creation of the build-info.xml - no reason to not do this just because it won't be published later.
Simon Howkins <simonh@symbian.org>
parents: 471
diff changeset
   714
        <!-- Make a copy in BOM dir -->
296ea0545429 Removed conditional around the creation of the build-info.xml - no reason to not do this just because it won't be published later.
Simon Howkins <simonh@symbian.org>
parents: 471
diff changeset
   715
        <copy file="${build.drive}/output/logs/sf-diamondize-bom.xml" tofile="${build.log.dir}/BOM/build-info.xml"/>
61
6066a7d39270 Diamondize BOM info
DarioS@UK-DarioS.symbian.int
parents: 60
diff changeset
   716
    </target>
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   717
84
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   718
    <target name="sf-preprocess-package-config">
1247
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   719
	<!-- preprocess by stripping the header of the rnd source and concat with sources.csv -->
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   720
    <loadfile srcfile="${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile.rnd}" property="rnd.source.no.header" failonerror="false">
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   721
    <filterchain>
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   722
      <headfilter skip="1"/>
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   723
    </filterchain>
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   724
    </loadfile>
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   725
    <echo message="${rnd.source.no.header}" file="${temp.build.dir}/sources_rnd_no_header.csv"/>
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   726
    
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   727
    <!-- order is important as the rnd source now has no header -->
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   728
    <concat destfile="${temp.build.dir}/sources.csv" force="yes">
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   729
       <file file="${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile}"/>
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   730
       <file file="${temp.build.dir}/sources_rnd_no_header.csv"/>
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   731
    </concat>
1117
0006ed4e0b6d Fix rnd packaging and deployment
Shabe Razvi <shaber@symbian.org>
parents: 1113
diff changeset
   732
1247
311e0398c886 Backed out changeset: 3698c6929ff1
Simon Howkins <simonh@symbian.org>
parents: 1205
diff changeset
   733
    <echo message="${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile}"/>
76
a115d49b621f Include epl/sfl category in zipfile name
Shabe Razvi <shaber@symbian.org>
parents: 75
diff changeset
   734
        <exec executable="perl" dir="${build.drive}/" failonerror="false" output="${build.log.dir}/zipconfig.log">
84
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   735
            <arg value="${sf.common.config.dir}/tools/populateziptemplate.pl"/>
1117
0006ed4e0b6d Fix rnd packaging and deployment
Shabe Razvi <shaber@symbian.org>
parents: 1113
diff changeset
   736
            <arg value="${temp.build.dir}/sources.csv"/>
84
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   737
            <arg value="${sf.common.config.dir}/templates/zip.cfg.xml.ftl.template"/>
681
eeab5a04dc46 Updated throughout to use the "temp_build_files" dir on the build drive rather than the "generated" directory in the fbf source tree.
Simon Howkins <simonh@symbian.org>
parents: 679
diff changeset
   738
            <arg value="${temp.build.dir}/zip.cfg.xml.ftl"/>
247
cfde8b1784f7 Simplified the locations of some generated files, so they are created where they need to be rather than created on one place and moved to another.
Simon Howkins <simonh@symbian.org>
parents: 246
diff changeset
   739
            <arg value="${build.log.dir}/rnd_excludefile.txt"/>
73
b8d6af733d6d Add first cut of packaging solution
Shabe Razvi <shaber@symbian.org>
parents: 69
diff changeset
   740
        </exec>
647
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   741
        <antcall target="sf-log-to-brag">
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   742
            <param name="sf.brag.phase" value="Prebuild"/>
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   743
            <param name="sf.brag.step" value="Preprocess package config"/>
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   744
            <param name="sf.brag.log" value="${build.log.dir}/zipconfig.log"/>
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   745
            <param name="sf.brag.id" value="PreprocessPackageConfig"/>
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   746
        </antcall>
84
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   747
    </target>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   748
    
679
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   749
    <target name="sf-zip-content">
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   750
        <!-- If it's the file we use for everything, and it's not up to date... -->
677
dd6b7decdca2 Major packaging change to work around parallel calls - stopped zipping targets from having direct dependency on 'sf-preprocess-package-config', and instead have 'sf-zip-content' call 'sf-preprocess-package-config' if needed. Changed 'sf-prep' to call a target that wipes out the 'generated' directory. It's not perfect but it gets us going again.
MattD <mattd@symbian.org>
parents: 658
diff changeset
   751
        <if>
dd6b7decdca2 Major packaging change to work around parallel calls - stopped zipping targets from having direct dependency on 'sf-preprocess-package-config', and instead have 'sf-zip-content' call 'sf-preprocess-package-config' if needed. Changed 'sf-prep' to call a target that wipes out the 'generated' directory. It's not perfect but it gets us going again.
MattD <mattd@symbian.org>
parents: 658
diff changeset
   752
          <and>
681
eeab5a04dc46 Updated throughout to use the "temp_build_files" dir on the build drive rather than the "generated" directory in the fbf source tree.
Simon Howkins <simonh@symbian.org>
parents: 679
diff changeset
   753
            <equals arg1="${zip.config.file}" arg2="${temp.build.dir}/zip.cfg.xml.ftl"/>
679
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   754
            <not>
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   755
              <and>
681
eeab5a04dc46 Updated throughout to use the "temp_build_files" dir on the build drive rather than the "generated" directory in the fbf source tree.
Simon Howkins <simonh@symbian.org>
parents: 679
diff changeset
   756
                <uptodate targetfile="${temp.build.dir}/zip.cfg.xml.ftl">
679
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   757
                  <srcfiles dir="${sf.common.config.dir}">
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   758
                    <include name="tools/populateziptemplate.pl"/>
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   759
                    <include name="templates/zip.cfg.xml.ftl.template"/>
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   760
                  </srcfiles>
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   761
                </uptodate>
681
eeab5a04dc46 Updated throughout to use the "temp_build_files" dir on the build drive rather than the "generated" directory in the fbf source tree.
Simon Howkins <simonh@symbian.org>
parents: 679
diff changeset
   762
                <uptodate targetfile="${temp.build.dir}/zip.cfg.xml.ftl">
679
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   763
                  <srcfiles dir="${sf.spec.sourcesync.sourcespecdir}">
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   764
                    <include name="${sf.spec.sourcesync.sourcespecfile}"/>
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   765
                  </srcfiles>
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   766
                </uptodate>
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   767
              </and>
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   768
            </not>
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   769
          </and>
677
dd6b7decdca2 Major packaging change to work around parallel calls - stopped zipping targets from having direct dependency on 'sf-preprocess-package-config', and instead have 'sf-zip-content' call 'sf-preprocess-package-config' if needed. Changed 'sf-prep' to call a target that wipes out the 'generated' directory. It's not perfect but it gets us going again.
MattD <mattd@symbian.org>
parents: 658
diff changeset
   770
          <then>
679
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   771
            <!-- (Re)build the packaging config file -->      
677
dd6b7decdca2 Major packaging change to work around parallel calls - stopped zipping targets from having direct dependency on 'sf-preprocess-package-config', and instead have 'sf-zip-content' call 'sf-preprocess-package-config' if needed. Changed 'sf-prep' to call a target that wipes out the 'generated' directory. It's not perfect but it gets us going again.
MattD <mattd@symbian.org>
parents: 658
diff changeset
   772
            <runtarget target="sf-preprocess-package-config"/>
dd6b7decdca2 Major packaging change to work around parallel calls - stopped zipping targets from having direct dependency on 'sf-preprocess-package-config', and instead have 'sf-zip-content' call 'sf-preprocess-package-config' if needed. Changed 'sf-prep' to call a target that wipes out the 'generated' directory. It's not perfect but it gets us going again.
MattD <mattd@symbian.org>
parents: 658
diff changeset
   773
          </then>  
dd6b7decdca2 Major packaging change to work around parallel calls - stopped zipping targets from having direct dependency on 'sf-preprocess-package-config', and instead have 'sf-zip-content' call 'sf-preprocess-package-config' if needed. Changed 'sf-prep' to call a target that wipes out the 'generated' directory. It's not perfect but it gets us going again.
MattD <mattd@symbian.org>
parents: 658
diff changeset
   774
        </if>
864
2b0f08dedb30 Intelligent way of getting timings for ALL uses of sf-zip-content
Simon Howkins <simonh@symbian.org>
parents: 861
diff changeset
   775
        <stopwatch name="sf-zip-content (${zip.target.name})"/>
677
dd6b7decdca2 Major packaging change to work around parallel calls - stopped zipping targets from having direct dependency on 'sf-preprocess-package-config', and instead have 'sf-zip-content' call 'sf-preprocess-package-config' if needed. Changed 'sf-prep' to call a target that wipes out the 'generated' directory. It's not perfect but it gets us going again.
MattD <mattd@symbian.org>
parents: 658
diff changeset
   776
        <if><available file="${zip.config.file}"/>
dd6b7decdca2 Major packaging change to work around parallel calls - stopped zipping targets from having direct dependency on 'sf-preprocess-package-config', and instead have 'sf-zip-content' call 'sf-preprocess-package-config' if needed. Changed 'sf-prep' to call a target that wipes out the 'generated' directory. It's not perfect but it gets us going again.
MattD <mattd@symbian.org>
parents: 658
diff changeset
   777
          <then>
dd6b7decdca2 Major packaging change to work around parallel calls - stopped zipping targets from having direct dependency on 'sf-preprocess-package-config', and instead have 'sf-zip-content' call 'sf-preprocess-package-config' if needed. Changed 'sf-prep' to call a target that wipes out the 'generated' directory. It's not perfect but it gets us going again.
MattD <mattd@symbian.org>
parents: 658
diff changeset
   778
            <runtarget target="preprocess-zip-config" />
dd6b7decdca2 Major packaging change to work around parallel calls - stopped zipping targets from having direct dependency on 'sf-preprocess-package-config', and instead have 'sf-zip-content' call 'sf-preprocess-package-config' if needed. Changed 'sf-prep' to call a target that wipes out the 'generated' directory. It's not perfect but it gets us going again.
MattD <mattd@symbian.org>
parents: 658
diff changeset
   779
            <property name="zip.${zip.target.name}.log.file" location="${build.log.dir}/${build.id}_${zip.target.name}_zip.log" />
dd6b7decdca2 Major packaging change to work around parallel calls - stopped zipping targets from having direct dependency on 'sf-preprocess-package-config', and instead have 'sf-zip-content' call 'sf-preprocess-package-config' if needed. Changed 'sf-prep' to call a target that wipes out the 'generated' directory. It's not perfect but it gets us going again.
MattD <mattd@symbian.org>
parents: 658
diff changeset
   780
            <property name="zips.${zip.target.name}.spec.name" value="${zip.target.name}" />
927
a15a7e841752 Turn off zipContentMacro failure for empty zip targets in Helium 7
Shabe Razvi <shaber@symbian.org>
parents: 926
diff changeset
   781
            <if><isset property="sf.using.newer.than.helium5"/>
1273
92bfe0d10c29 Bug 3750: Use .7z extension for PDK zip files created with LZMA compression
Simon Howkins <simonh@symbian.org>
parents: 1249
diff changeset
   782
              <then>
927
a15a7e841752 Turn off zipContentMacro failure for empty zip targets in Helium 7
Shabe Razvi <shaber@symbian.org>
parents: 926
diff changeset
   783
                <hlm:zipContentMacro type="${zip.target.name}" file="${zip.config.file}" failonemptyconfig="false"/>
1273
92bfe0d10c29 Bug 3750: Use .7z extension for PDK zip files created with LZMA compression
Simon Howkins <simonh@symbian.org>
parents: 1249
diff changeset
   784
              </then>
92bfe0d10c29 Bug 3750: Use .7z extension for PDK zip files created with LZMA compression
Simon Howkins <simonh@symbian.org>
parents: 1249
diff changeset
   785
              <else>
927
a15a7e841752 Turn off zipContentMacro failure for empty zip targets in Helium 7
Shabe Razvi <shaber@symbian.org>
parents: 926
diff changeset
   786
                <hlm:zipContentMacro type="${zip.target.name}" file="${zip.config.file}" />
1273
92bfe0d10c29 Bug 3750: Use .7z extension for PDK zip files created with LZMA compression
Simon Howkins <simonh@symbian.org>
parents: 1249
diff changeset
   787
              </else>
927
a15a7e841752 Turn off zipContentMacro failure for empty zip targets in Helium 7
Shabe Razvi <shaber@symbian.org>
parents: 926
diff changeset
   788
            </if>
1273
92bfe0d10c29 Bug 3750: Use .7z extension for PDK zip files created with LZMA compression
Simon Howkins <simonh@symbian.org>
parents: 1249
diff changeset
   789
1274
b5003eee1583 Bug 3750: Use .7z extension for PDK zip files created with LZMA compression
Simon Howkins <simonh@symbian.org>
parents: 1273
diff changeset
   790
            <!-- Now patch up zip filenames and to avoid double extensions and patch up the release metadata to match -->
b5003eee1583 Bug 3750: Use .7z extension for PDK zip files created with LZMA compression
Simon Howkins <simonh@symbian.org>
parents: 1273
diff changeset
   791
<!--        <move verbose="true" todir="${build.drive}/output/zips/">
1273
92bfe0d10c29 Bug 3750: Use .7z extension for PDK zip files created with LZMA compression
Simon Howkins <simonh@symbian.org>
parents: 1249
diff changeset
   792
              <fileset dir="${build.drive}/output/zips/" includes="**/*.zip"/>
92bfe0d10c29 Bug 3750: Use .7z extension for PDK zip files created with LZMA compression
Simon Howkins <simonh@symbian.org>
parents: 1249
diff changeset
   793
              <mapper type="regexp" from="^(.+?\.(7z|zip))\.zip$" to="\1"/>
92bfe0d10c29 Bug 3750: Use .7z extension for PDK zip files created with LZMA compression
Simon Howkins <simonh@symbian.org>
parents: 1249
diff changeset
   794
            </move>
1274
b5003eee1583 Bug 3750: Use .7z extension for PDK zip files created with LZMA compression
Simon Howkins <simonh@symbian.org>
parents: 1273
diff changeset
   795
            <replaceregexp match="\.(7z|zip)\.zip" replace=".\1" flags="g">
1273
92bfe0d10c29 Bug 3750: Use .7z extension for PDK zip files created with LZMA compression
Simon Howkins <simonh@symbian.org>
parents: 1249
diff changeset
   796
              <fileset dir="${build.drive}/output/zips/" includes="**/release_metadata.xml"/>
92bfe0d10c29 Bug 3750: Use .7z extension for PDK zip files created with LZMA compression
Simon Howkins <simonh@symbian.org>
parents: 1249
diff changeset
   797
            </replaceregexp>
1274
b5003eee1583 Bug 3750: Use .7z extension for PDK zip files created with LZMA compression
Simon Howkins <simonh@symbian.org>
parents: 1273
diff changeset
   798
-->
677
dd6b7decdca2 Major packaging change to work around parallel calls - stopped zipping targets from having direct dependency on 'sf-preprocess-package-config', and instead have 'sf-zip-content' call 'sf-preprocess-package-config' if needed. Changed 'sf-prep' to call a target that wipes out the 'generated' directory. It's not perfect but it gets us going again.
MattD <mattd@symbian.org>
parents: 658
diff changeset
   799
          </then>
dd6b7decdca2 Major packaging change to work around parallel calls - stopped zipping targets from having direct dependency on 'sf-preprocess-package-config', and instead have 'sf-zip-content' call 'sf-preprocess-package-config' if needed. Changed 'sf-prep' to call a target that wipes out the 'generated' directory. It's not perfect but it gets us going again.
MattD <mattd@symbian.org>
parents: 658
diff changeset
   800
          <else>
dd6b7decdca2 Major packaging change to work around parallel calls - stopped zipping targets from having direct dependency on 'sf-preprocess-package-config', and instead have 'sf-zip-content' call 'sf-preprocess-package-config' if needed. Changed 'sf-prep' to call a target that wipes out the 'generated' directory. It's not perfect but it gets us going again.
MattD <mattd@symbian.org>
parents: 658
diff changeset
   801
            <echo message="ERROR ${zip.config.file} not available for zipping!"/>
dd6b7decdca2 Major packaging change to work around parallel calls - stopped zipping targets from having direct dependency on 'sf-preprocess-package-config', and instead have 'sf-zip-content' call 'sf-preprocess-package-config' if needed. Changed 'sf-prep' to call a target that wipes out the 'generated' directory. It's not perfect but it gets us going again.
MattD <mattd@symbian.org>
parents: 658
diff changeset
   802
          </else>
dd6b7decdca2 Major packaging change to work around parallel calls - stopped zipping targets from having direct dependency on 'sf-preprocess-package-config', and instead have 'sf-zip-content' call 'sf-preprocess-package-config' if needed. Changed 'sf-prep' to call a target that wipes out the 'generated' directory. It's not perfect but it gets us going again.
MattD <mattd@symbian.org>
parents: 658
diff changeset
   803
        </if>
864
2b0f08dedb30 Intelligent way of getting timings for ALL uses of sf-zip-content
Simon Howkins <simonh@symbian.org>
parents: 861
diff changeset
   804
        <stopwatch name="sf-zip-content (${zip.target.name})" action="elapsed"/>
84
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   805
    </target>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   806
    
677
dd6b7decdca2 Major packaging change to work around parallel calls - stopped zipping targets from having direct dependency on 'sf-preprocess-package-config', and instead have 'sf-zip-content' call 'sf-preprocess-package-config' if needed. Changed 'sf-prep' to call a target that wipes out the 'generated' directory. It's not perfect but it gets us going again.
MattD <mattd@symbian.org>
parents: 658
diff changeset
   807
    <target name="sf-package-source" >
461
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   808
        <!-- Firstly zip up rnd by package -->
456
1ba3c86ebec0 Bug 350 RnD binary zips missing all content outside epoc32 tree
Simon Howkins <simonh@symbian.org>
parents: 441
diff changeset
   809
        <antcall target="sf-zip-content">
681
eeab5a04dc46 Updated throughout to use the "temp_build_files" dir on the build drive rather than the "generated" directory in the fbf source tree.
Simon Howkins <simonh@symbian.org>
parents: 679
diff changeset
   810
            <param name="zip.config.file" value="${temp.build.dir}/zip.cfg.xml.ftl"/>
456
1ba3c86ebec0 Bug 350 RnD binary zips missing all content outside epoc32 tree
Simon Howkins <simonh@symbian.org>
parents: 441
diff changeset
   811
            <param name="zip.target.name" value="rnd" />
1ba3c86ebec0 Bug 350 RnD binary zips missing all content outside epoc32 tree
Simon Howkins <simonh@symbian.org>
parents: 441
diff changeset
   812
        </antcall>
1ba3c86ebec0 Bug 350 RnD binary zips missing all content outside epoc32 tree
Simon Howkins <simonh@symbian.org>
parents: 441
diff changeset
   813
        <antcall target="sf-zip-content">
681
eeab5a04dc46 Updated throughout to use the "temp_build_files" dir on the build drive rather than the "generated" directory in the fbf source tree.
Simon Howkins <simonh@symbian.org>
parents: 679
diff changeset
   814
            <param name="zip.config.file" value="${temp.build.dir}/zip.cfg.xml.ftl"/>
456
1ba3c86ebec0 Bug 350 RnD binary zips missing all content outside epoc32 tree
Simon Howkins <simonh@symbian.org>
parents: 441
diff changeset
   815
            <param name="zip.target.name" value="rnd-internal" />
1ba3c86ebec0 Bug 350 RnD binary zips missing all content outside epoc32 tree
Simon Howkins <simonh@symbian.org>
parents: 441
diff changeset
   816
        </antcall>
461
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   817
        <if>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   818
            <istrue value="${sf.spec.package.src.enable}"/>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   819
            <then>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   820
                <echo message="INFO Packaging Source Repos"/>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   821
                <antcall target="sf-zip-content">
681
eeab5a04dc46 Updated throughout to use the "temp_build_files" dir on the build drive rather than the "generated" directory in the fbf source tree.
Simon Howkins <simonh@symbian.org>
parents: 679
diff changeset
   822
                    <param name="zip.config.file" value="${temp.build.dir}/zip.cfg.xml.ftl"/>
461
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   823
                    <param name="zip.target.name" value="src" />
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   824
                </antcall>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   825
                <!-- Then zip up src zips by layer -->
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   826
                <antcall target="sf-zip-content">
681
eeab5a04dc46 Updated throughout to use the "temp_build_files" dir on the build drive rather than the "generated" directory in the fbf source tree.
Simon Howkins <simonh@symbian.org>
parents: 679
diff changeset
   827
                    <param name="zip.config.file" value="${temp.build.dir}/zip.cfg.xml.ftl"/>
461
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   828
                    <param name="zip.target.name" value="src-by-layer" />
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   829
                </antcall>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   830
            </then>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   831
        </if>
84
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   832
    </target>
fcf94a72b33e Improved zip template generation script, to take a third argument for the required location of the output file.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   833
    
461
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   834
    <!-- Unpack the rnd zips ready to be used in the build -->
111
5b0bc2f89660 Add postbuild RnD packaging. Add .whatlog to os tools build.
Shabe Razvi <shaber@symbian.org>
parents: 109
diff changeset
   835
    <target name="sf-unpack-rnd">
1106
232bce64d370 Build Qmake only if Qt package is being built
Shabe Razvi <shaber@symbian.org>
parents: 1100
diff changeset
   836
        <echo message="INFO Unpacking any available RnD binaries"/>
1273
92bfe0d10c29 Bug 3750: Use .7z extension for PDK zip files created with LZMA compression
Simon Howkins <simonh@symbian.org>
parents: 1249
diff changeset
   837
        <mkdir dir="${build.drive}/output/zips/"/>
461
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   838
        <for param="rndZip">
1166
ed7be4dda2ab Attrib erroronmissingdir is supported for Ant 1.8 only, so workaround by creating dir in advance.
Shabe Razvi <shaber@symbian.org>
parents: 1165
diff changeset
   839
            <fileset dir="${build.drive}/output/zips/">
461
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   840
                <include name="binaries_*.zip"/> <!-- Internal rnd bins -->
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   841
                <include name="release/bin_*.zip"/> <!-- Releaseable rnd bins -->
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   842
            </fileset>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   843
            <sequential>
1165
c040b8983eae Dont fail if output/zips/ dir is not present (as a side effect of turning off packaging).
Shabe Razvi <shaber@symbian.org>
parents: 1160
diff changeset
   844
                <exec executable="7za" dir="${build.drive}" output="${build.log.dir}/unzip_${build.id}_binaries_rnd.log" append="true" failonerror="false">
461
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   845
                    <arg value="x"/>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   846
                    <arg value="-y"/> <!-- Need to unpack in overwrite mode, due to TEF -->
467
5d3a9a466963 Fixed RnD content unpacking to ensure that only i9tems in the epoc32 tree are unpacked.
Simon Howkins <simonh@symbian.org>
parents: 461
diff changeset
   847
                    <arg value="-i!epoc32\*"/> <!-- Only unzip items into the epoc32 tree -->
461
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   848
                    <arg value="@{rndZip}"/>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   849
                </exec>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   850
            </sequential>
1100
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   851
        </for>
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   852
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   853
        <if><istrue value="${sf.spec.baseline.enable}"/>
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   854
        <then>
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   855
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   856
        <!-- also unpack any rnd bins from baseline location. may collide with package build getenv -->
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   857
        <delete file="${build.drive}/currentRelease.xml"/>        
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   858
        <antcall target="preparation-getenv" inheritAll="false">
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   859
            <param name="base_release.path"           value="${sf.spec.baseline.location}"/>
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   860
            <param name="base_release.getenv_options" value="-i rnd -k"/>
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   861
        </antcall>
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   862
        </then>
561033b10e0f Major rework to enable rebuilds of the platform from single sf-build call
Shabe Razvi <shaber@symbian.org>
parents: 1057
diff changeset
   863
        </if>
461
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   864
    </target>
637
3effbd6728d4 Modified sf-check-missing-os-files to deal with 'sf.os.compile.iterate' property. Added new target 'sf-compile-options' for setting the gmake sbs compile option, and added it as a dep for the compile targets.
MattD <mattd@symbian.org>
parents: 624
diff changeset
   865
3effbd6728d4 Modified sf-check-missing-os-files to deal with 'sf.os.compile.iterate' property. Added new target 'sf-compile-options' for setting the gmake sbs compile option, and added it as a dep for the compile targets.
MattD <mattd@symbian.org>
parents: 624
diff changeset
   866
  <target name="sf-compile-options">  
3effbd6728d4 Modified sf-check-missing-os-files to deal with 'sf.os.compile.iterate' property. Added new target 'sf-compile-options' for setting the gmake sbs compile option, and added it as a dep for the compile targets.
MattD <mattd@symbian.org>
parents: 624
diff changeset
   867
    <hlm:sbsMakeOptions engine="gmake" id="sbs.fullbuild.options"/>
3effbd6728d4 Modified sf-check-missing-os-files to deal with 'sf.os.compile.iterate' property. Added new target 'sf-compile-options' for setting the gmake sbs compile option, and added it as a dep for the compile targets.
MattD <mattd@symbian.org>
parents: 624
diff changeset
   868
    <hlm:sbsMakeOptions engine="gmake" id="sbs.toolsbuild.options"/>
3effbd6728d4 Modified sf-check-missing-os-files to deal with 'sf.os.compile.iterate' property. Added new target 'sf-compile-options' for setting the gmake sbs compile option, and added it as a dep for the compile targets.
MattD <mattd@symbian.org>
parents: 624
diff changeset
   869
  </target>
461
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   870
    
647
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   871
    <!-- Turn a log file into a BRAG XML file - parameters to be passed are sf.brag.* -->
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   872
    <target name="sf-log-to-brag">
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   873
        <mkdir dir="${build.log.dir}/summary"/>
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   874
        <echo message="Generating ${sf.brag.id}_BRAG.xml from ${sf.brag.log}"/>
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   875
        <exec executable="perl" failonerror="false" output="${build.log.dir}/summary/${sf.brag.id}_BRAG.xml" logError="true">
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   876
            <arg value="${sf.common.config.dir}/tools/brag/logToBRAG.pl"/>
1110
4b2c741f781a Only use sources_rnd.csv if its available
Shabe Razvi <shaber@symbian.org>
parents: 1109
diff changeset
   877
        <arg value="--phase=${sf.brag.phase}"/>
647
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   878
            <arg value="--step=${sf.brag.step}"/>
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   879
            <arg value="--rules=${sf.common.config.dir}/tools/brag/rules.${sf.brag.id}.tsv"/>
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   880
            <arg value="${sf.brag.log}"/>
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   881
        </exec>
648
5d343f062b11 Added copy to copy the XSL so it's available if ever an XML is generated there.
Simon Howkins <simonh@symbian.org>
parents: 647
diff changeset
   882
        <!-- And copy the XSL so the output can be transformed by a browser -->
5d343f062b11 Added copy to copy the XSL so it's available if ever an XML is generated there.
Simon Howkins <simonh@symbian.org>
parents: 647
diff changeset
   883
        <copy file="${sf.common.config.dir}/tools/brag/brag.xsl" toDir="${build.log.dir}/summary/"/>
647
4d2a89833fea Created a dedicated sf-log-to-brag target so it can take care of the commonality of the task, including the creation of the directory for XML output.
Simon Howkins <simonh@symbian.org>
parents: 637
diff changeset
   884
    </target>
698
382728cd25d2 Add sf-rombuild target to build ROMs. Backout ARM license check suppression.
Shabe Razvi <shaber@symbian.org>
parents: 681
diff changeset
   885
       
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   886
</project>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   887