common/build.xml
author Simon Howkins <simonh@symbian.org>
Mon, 07 Jun 2010 15:04:21 +0100
changeset 1076 86434e6d9873
parent 1057 1302574aca03
child 1100 561033b10e0f
permissions -rw-r--r--
Merge in tools for manipulating sytem defintions from their own repo.
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"/>
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
    70
    <property name="compile.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
    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"/>
381
ad45f298ad85 Test targets seperated from "build.postbuild.xml" and put into "build.test.xml"
royt <tathagatar@symbian.org>
parents: 377
diff changeset
    95
	
892
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
    96
    <!-- 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
    97
    <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
    98
    
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
    99
    <!-- 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
   100
    <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
   101
      <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
   102
        <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
   103
        <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
   104
      </or></not>
899
d80a65072ed8 Add Helium 7 support for package builds.
Shabe Razvi <shaber@symbian.org>
parents: 874
diff changeset
   105
      <then>
927
a15a7e841752 Turn off zipContentMacro failure for empty zip targets in Helium 7
Shabe Razvi <shaber@symbian.org>
parents: 926
diff changeset
   106
          <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
   107
          <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
   108
          <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
   109
          
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents: 901
diff changeset
   110
          <!-- Never fail on sbs compile errors -->
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents: 901
diff changeset
   111
          <hlm:signalInput id="compileSignalInput" failbuild="never">
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents: 901
diff changeset
   112
            <hlm:notifierListRef refid="defaultFailNotifier" />
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents: 901
diff changeset
   113
          </hlm:signalInput>
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents: 901
diff changeset
   114
          
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents: 901
diff changeset
   115
          <hlm:signalInput id="raptorErrorSignalInput" failbuild="never">
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents: 901
diff changeset
   116
            <hlm:notifierListRef refid="defaultFailNotifier" />
eeffe74cd1b2 Add initial support for Helium7 for the platform.
Shabe Razvi <shaber@symbian.org>
parents: 901
diff changeset
   117
          </hlm:signalInput>
972
608adae327af Prevent qmake from failing build by suppressing 'signalRunQMakeInput' signal
Shabe Razvi <shaber@symbian.org>
parents: 971
diff changeset
   118
608adae327af Prevent qmake from failing build by suppressing 'signalRunQMakeInput' signal
Shabe Razvi <shaber@symbian.org>
parents: 971
diff changeset
   119
          <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
   120
            <hlm:notifierListRef refid="defaultFailNotifier" />
608adae327af Prevent qmake from failing build by suppressing 'signalRunQMakeInput' signal
Shabe Razvi <shaber@symbian.org>
parents: 971
diff changeset
   121
          </hlm:signalInput>
608adae327af Prevent qmake from failing build by suppressing 'signalRunQMakeInput' signal
Shabe Razvi <shaber@symbian.org>
parents: 971
diff changeset
   122
899
d80a65072ed8 Add Helium 7 support for package builds.
Shabe Razvi <shaber@symbian.org>
parents: 874
diff changeset
   123
      </then>
d80a65072ed8 Add Helium 7 support for package builds.
Shabe Razvi <shaber@symbian.org>
parents: 874
diff changeset
   124
    </if>
d80a65072ed8 Add Helium 7 support for package builds.
Shabe Razvi <shaber@symbian.org>
parents: 874
diff changeset
   125
    
d80a65072ed8 Add Helium 7 support for package builds.
Shabe Razvi <shaber@symbian.org>
parents: 874
diff changeset
   126
    <!--
d80a65072ed8 Add Helium 7 support for package builds.
Shabe Razvi <shaber@symbian.org>
parents: 874
diff changeset
   127
      - END OF PROPERTY DEFINITIONS, TARGETS START HERE
d80a65072ed8 Add Helium 7 support for package builds.
Shabe Razvi <shaber@symbian.org>
parents: 874
diff changeset
   128
      -->
d80a65072ed8 Add Helium 7 support for package builds.
Shabe Razvi <shaber@symbian.org>
parents: 874
diff changeset
   129
    
1055
d3c5525768c5 Take envinfo.pl from the utilities repo
Dario Sestito <darios@symbian.org>
parents: 1045
diff changeset
   130
    <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
   131
        <!-- Test for the disk space we would like for this build -->
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   132
	<fail>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   133
            <condition>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   134
                <not>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   135
                    <or>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   136
                        <isset property="sf.suppress.drive.space.check"/>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   137
                        <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
   138
                    </or>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   139
                </not>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   140
            </condition>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   141
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
   142
        </fail>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   143
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   144
        <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
   145
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
   146
        <runtarget target="sf-check-env"/>
861
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   147
        <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
   148
    </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
   149
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   150
    <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
   151
        <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
   152
        <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
   153
    </target>
caa0601f50c5 Added stopwatch tasks through most of the code hit during a platform build.
Simon Howkins <simonh@symbian.org>
parents: 860
diff changeset
   154
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
   155
    <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
   156
        <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
   157
        <!-- Dario's environment dumper -->
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   158
    	  <if>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   159
            <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
   160
            <then>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   161
                <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
   162
                    <arg value="envinfo.pl"/>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   163
                    <arg value="-r"/>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   164
                    <arg value="-c"/>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   165
                    <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
   166
                </exec>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   167
            </then>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   168
            <else>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   169
                <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
   170
                    <arg value="envinfo.pl"/>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   171
                    <arg value="-r"/>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   172
                </exec>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   173
            </else>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   174
      </if>
1302574aca03 Use new tools to publish and compare environment information
Dario Sestito <darios@symbian.org>
parents: 1055
diff changeset
   175
      <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
   176
      <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
   177
          <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
   178
      </exec>
884
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   179
    	
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
   180
        <!-- 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
   181
        <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
   182
            <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
   183
                <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
   184
            </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
   185
            <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
   186
                <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
   187
            </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
   188
        </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
   189
        
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
   190
        <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
   191
        <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
   192
            <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
   193
            <arg value="--xml=${sf.buildenv.location}/BuildEnv.xml"/>
358
61571c10c5d0 Added Build environment check feature
ThomasE
parents: 356
diff changeset
   194
            <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
   195
            <arg value="--sbs='${sf.spec.sbs.config}'"/>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   196
            <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
   197
            <arg value="Common"/>
bed8f6bc974b Added disk space check for all builds.
Simon Howkins <simonh@symbian.org>
parents: 366
diff changeset
   198
        </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
   199
        <!-- 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
   200
            <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
   201
            <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
   202
            <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
   203
            <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
   204
        </antcall -->
604
aa36fa431e3d Added processing of the BuildEnvironmentCheck for BRAG purposes.
Simon Howkins <simonh@symbian.org>
parents: 603
diff changeset
   205
        <fail>
aa36fa431e3d Added processing of the BuildEnvironmentCheck for BRAG purposes.
Simon Howkins <simonh@symbian.org>
parents: 603
diff changeset
   206
            <condition>
aa36fa431e3d Added processing of the BuildEnvironmentCheck for BRAG purposes.
Simon Howkins <simonh@symbian.org>
parents: 603
diff changeset
   207
                <not>
aa36fa431e3d Added processing of the BuildEnvironmentCheck for BRAG purposes.
Simon Howkins <simonh@symbian.org>
parents: 603
diff changeset
   208
                    <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
   209
                        <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
   210
                        <isset property="sf.suppress.buildenv.check"/>
aa36fa431e3d Added processing of the BuildEnvironmentCheck for BRAG purposes.
Simon Howkins <simonh@symbian.org>
parents: 603
diff changeset
   211
                    </or>
aa36fa431e3d Added processing of the BuildEnvironmentCheck for BRAG purposes.
Simon Howkins <simonh@symbian.org>
parents: 603
diff changeset
   212
                </not>
aa36fa431e3d Added processing of the BuildEnvironmentCheck for BRAG purposes.
Simon Howkins <simonh@symbian.org>
parents: 603
diff changeset
   213
            </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
   214
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
   215
        </fail>
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   216
    </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
   217
366
cde2244c8ea6 First drop of script to generate build summary
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
   218
    <target name="sf-summary" depends="">
cde2244c8ea6 First drop of script to generate build summary
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
   219
        <echo>[SF-SUMMARY]</echo>
cde2244c8ea6 First drop of script to generate build summary
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
   220
        <echo message="Generating build summary"/>
cde2244c8ea6 First drop of script to generate build summary
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
   221
        <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
   222
          <arg value="brag_script.pl"/>
cde2244c8ea6 First drop of script to generate build summary
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
   223
          <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
   224
          <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
   225
        </exec>
cde2244c8ea6 First drop of script to generate build summary
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
   226
    </target>
cde2244c8ea6 First drop of script to generate build summary
Dario Sestito <darios@symbian.org>
parents: 365
diff changeset
   227
    
415
cc2965329dd1 Removed unnecessary target.
Simon Howkins <simonh@symbian.org>
parents: 414
diff changeset
   228
    <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
   229
        <echo>[SF-BUILD-ALL]</echo>
cc2965329dd1 Removed unnecessary target.
Simon Howkins <simonh@symbian.org>
parents: 414
diff changeset
   230
    </target>
cc2965329dd1 Removed unnecessary target.
Simon Howkins <simonh@symbian.org>
parents: 414
diff changeset
   231
    
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
   232
    <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
   233
        <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
   234
    </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
   235
414
40b07ed8f169 Restructure sf-prebuild to ensure that sf-build-all doesnt invoke sf-prep.
Shabe Razvi <shaber@symbian.org>
parents: 397
diff changeset
   236
    <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
   237
        <echo>[SF-BUILD]</echo>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   238
    </target>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   239
    
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
   240
    <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
   241
        <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
   242
            <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
   243
            <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
   244
                <!-- 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
   245
                <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
   246
            </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
   247
        </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
   248
        <!-- Delete build directory -->
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
   249
        <delete dir="${prep.build.dir}"/>
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
   250
    </target>
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
   251
    
916
a93d4e0357e5 Export system model to BOM directory. This used to be done by generate-layers, however this isnt called by compile-main anymore.
Shabe Razvi <shaber@symbian.org>
parents: 914
diff changeset
   252
    <!-- Note: Not used from Helium 7 onwards -->
241
c451bd0c0782 generate-layer overridden target from platform/build.xml to common/build.xml
Dario Sestito <darios@symbian.org>
parents: 240
diff changeset
   253
    <target name="generate-layers">
c451bd0c0782 generate-layer overridden target from platform/build.xml to common/build.xml
Dario Sestito <darios@symbian.org>
parents: 240
diff changeset
   254
       <echo message="canno-file:${canonical.sysdef.file}"/>
c451bd0c0782 generate-layer overridden target from platform/build.xml to common/build.xml
Dario Sestito <darios@symbian.org>
parents: 240
diff changeset
   255
       <echo message="raptor-filters:raptor_${sysdef.configuration}"/>
c451bd0c0782 generate-layer overridden target from platform/build.xml to common/build.xml
Dario Sestito <darios@symbian.org>
parents: 240
diff changeset
   256
c451bd0c0782 generate-layer overridden target from platform/build.xml to common/build.xml
Dario Sestito <darios@symbian.org>
parents: 240
diff changeset
   257
       <!-- All we want is a sysdef with the config name appended, so just copy it -->
c451bd0c0782 generate-layer overridden target from platform/build.xml to common/build.xml
Dario Sestito <darios@symbian.org>
parents: 240
diff changeset
   258
       <echo message="INFO: Skip GenXML and copy sysdef to sysdef+config name"/>
c451bd0c0782 generate-layer overridden target from platform/build.xml to common/build.xml
Dario Sestito <darios@symbian.org>
parents: 240
diff changeset
   259
       <copy file="${canonical.sysdef.file}" tofile="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}_temp.xml"/>
c451bd0c0782 generate-layer overridden target from platform/build.xml to common/build.xml
Dario Sestito <darios@symbian.org>
parents: 240
diff changeset
   260
c451bd0c0782 generate-layer overridden target from platform/build.xml to common/build.xml
Dario Sestito <darios@symbian.org>
parents: 240
diff changeset
   261
        <copy file="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}_temp.xml" tofile="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}.xml">
c451bd0c0782 generate-layer overridden target from platform/build.xml to common/build.xml
Dario Sestito <darios@symbian.org>
parents: 240
diff changeset
   262
        <filterchain>
c451bd0c0782 generate-layer overridden target from platform/build.xml to common/build.xml
Dario Sestito <darios@symbian.org>
parents: 240
diff changeset
   263
            <linecontainsregexp negate="true">
c451bd0c0782 generate-layer overridden target from platform/build.xml to common/build.xml
Dario Sestito <darios@symbian.org>
parents: 240
diff changeset
   264
                <regexp pattern="^\s*$"/>
c451bd0c0782 generate-layer overridden target from platform/build.xml to common/build.xml
Dario Sestito <darios@symbian.org>
parents: 240
diff changeset
   265
            </linecontainsregexp>
c451bd0c0782 generate-layer overridden target from platform/build.xml to common/build.xml
Dario Sestito <darios@symbian.org>
parents: 240
diff changeset
   266
        </filterchain>
c451bd0c0782 generate-layer overridden target from platform/build.xml to common/build.xml
Dario Sestito <darios@symbian.org>
parents: 240
diff changeset
   267
        </copy>
c451bd0c0782 generate-layer overridden target from platform/build.xml to common/build.xml
Dario Sestito <darios@symbian.org>
parents: 240
diff changeset
   268
        <copy file="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}.xml" todir="${build.log.dir}/BOM/"/>
c451bd0c0782 generate-layer overridden target from platform/build.xml to common/build.xml
Dario Sestito <darios@symbian.org>
parents: 240
diff changeset
   269
        <delete file="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}_temp.xml"/>
c451bd0c0782 generate-layer overridden target from platform/build.xml to common/build.xml
Dario Sestito <darios@symbian.org>
parents: 240
diff changeset
   270
    </target>
123
5b2818c52aae Add optiona BC checking to build process
Louis Henry Nayegon <louisn@symbian.org>
parents: 114
diff changeset
   271
414
40b07ed8f169 Restructure sf-prebuild to ensure that sf-build-all doesnt invoke sf-prep.
Shabe Razvi <shaber@symbian.org>
parents: 397
diff changeset
   272
    <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
   273
    <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
   274
        <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
   275
    </target>
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   276
    
395
1f4867b1e0c1 Updated the mechanism for the conditional execution of sf-diamods-tag-build
Simon Howkins <simonh@symbian.org>
parents: 393
diff changeset
   277
    <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
   278
        <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
   279
        <echo>[SF-PREBUILD]</echo>
1f4867b1e0c1 Updated the mechanism for the conditional execution of sf-diamods-tag-build
Simon Howkins <simonh@symbian.org>
parents: 393
diff changeset
   280
    </target>
601
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   281
    
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   282
    <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
   283
      <if>
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   284
        <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
   285
        <then>
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   286
          <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
   287
          <runtarget target="diamonds"/>
602
Dario Sestito <darios@symbian.org>
parents: 599 601
diff changeset
   288
          <echo message="Save Diamonds build id value (${diamonds.build.id}) in a file"/>
Dario Sestito <darios@symbian.org>
parents: 599 601
diff changeset
   289
          <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
   290
        </then>
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   291
      </if>
3489a650c6fa Upload codeline and sf.spec.diamonds.tag as Diamonds tags
Dario Sestito <darios@symbian.org>
parents: 596
diff changeset
   292
    </target>
884
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   293
    
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   294
    <target name="sf-diamonds-envinfo">
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   295
      <if>
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   296
        <istrue value="${sf.spec.publish.enable}"/>
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   297
        <then>
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   298
          <echo>[SF-DIAMONDS-ENVINFO]</echo>
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   299
          <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
   300
          <exec executable="python">
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   301
		    <arg value="${sf.common.config.dir}/tools/brag/send_xml_to_diamonds.py"/>
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   302
		    <arg value="-u"/>
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   303
		    <arg value="http://${diamonds.host}${diamonds.build.id}"/>
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   304
		    <arg value="-f"/>
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   305
		    <arg value="${build.log.dir}/diamonds_envinfo.xml"/>
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   306
		  </exec>
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   307
        </then>
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   308
      </if>
18fc0e69c5b8 Dump environment info to Diamonds
Dario Sestito <darios@symbian.org>
parents: 880
diff changeset
   309
    </target>
395
1f4867b1e0c1 Updated the mechanism for the conditional execution of sf-diamods-tag-build
Simon Howkins <simonh@symbian.org>
parents: 393
diff changeset
   310
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
   311
    <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
   312
      <if>
1f4867b1e0c1 Updated the mechanism for the conditional execution of sf-diamods-tag-build
Simon Howkins <simonh@symbian.org>
parents: 393
diff changeset
   313
        <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
   314
        <then>
1f4867b1e0c1 Updated the mechanism for the conditional execution of sf-diamods-tag-build
Simon Howkins <simonh@symbian.org>
parents: 393
diff changeset
   315
          <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
   316
          <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
   317
          <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
   318
            <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
   319
            <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
   320
            <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
   321
          </exec>
395
1f4867b1e0c1 Updated the mechanism for the conditional execution of sf-diamods-tag-build
Simon Howkins <simonh@symbian.org>
parents: 393
diff changeset
   322
        </then>
1f4867b1e0c1 Updated the mechanism for the conditional execution of sf-diamods-tag-build
Simon Howkins <simonh@symbian.org>
parents: 393
diff changeset
   323
      </if>
321
55c062276b22 Enable build tagging on Diamonds (default: 'test')
Dario Sestito <darios@symbian.org>
parents: 320
diff changeset
   324
    </target>
55c062276b22 Enable build tagging on Diamonds (default: 'test')
Dario Sestito <darios@symbian.org>
parents: 320
diff changeset
   325
    
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
   326
    <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
   327
        <!-- 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
   328
        <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
   329
        
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
   330
        <!-- 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
   331
        <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
   332
            <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
   333
            <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
   334
        </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
   335
        <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
   336
        <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
   337
            <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
   338
            <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
   339
        </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
   340
        <echo message="${sf.job.bom.config.repo},sf-config,${sf.job.bom.config.checksum}" file="${build.drive}/output/logs/BOM/config.csv"/>
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
   341
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
   342
        <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
   343
            <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
   344
            <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
   345
        </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
   346
        <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
   347
        <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
   348
            <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
   349
            <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
   350
        </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
   351
	<echo message="${sf.job.bom.project.repo},build/config,${sf.job.bom.project.checksum}" file="${build.drive}/output/logs/BOM/project.csv"/>
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
   352
    </target>
906
5239d4d0bed1 Take the UH parser from the utilities repo
Dario Sestito <darios@symbian.org>
parents: 901
diff changeset
   353
    
5239d4d0bed1 Take the UH parser from the utilities repo
Dario Sestito <darios@symbian.org>
parents: 901
diff changeset
   354
    <target name="sf-get-utils">
5239d4d0bed1 Take the UH parser from the utilities repo
Dario Sestito <darios@symbian.org>
parents: 901
diff changeset
   355
    	<stopwatch name="sf-get-utils"/>
1008
5600a84475d7 Rationalised indentation
Simon Howkins <simonh@symbian.org>
parents: 996
diff changeset
   356
        <echo message="Cloning utilities repository to ${build.drive}/utilities"/>
5600a84475d7 Rationalised indentation
Simon Howkins <simonh@symbian.org>
parents: 996
diff changeset
   357
        <exec executable="hg">
5600a84475d7 Rationalised indentation
Simon Howkins <simonh@symbian.org>
parents: 996
diff changeset
   358
            <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
   359
            <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
   360
            <arg value="default"/>
1008
5600a84475d7 Rationalised indentation
Simon Howkins <simonh@symbian.org>
parents: 996
diff changeset
   361
            <arg value="http://developer.symbian.org/oss/MCL/sftools/fbf/utilities"/>
5600a84475d7 Rationalised indentation
Simon Howkins <simonh@symbian.org>
parents: 996
diff changeset
   362
            <arg value="${build.drive}/utilities"/>
5600a84475d7 Rationalised indentation
Simon Howkins <simonh@symbian.org>
parents: 996
diff changeset
   363
        </exec>
906
5239d4d0bed1 Take the UH parser from the utilities repo
Dario Sestito <darios@symbian.org>
parents: 901
diff changeset
   364
    	<stopwatch name="sf-get-utils" action="elapsed"/>
5239d4d0bed1 Take the UH parser from the utilities repo
Dario Sestito <darios@symbian.org>
parents: 901
diff changeset
   365
    </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
   366
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
   367
    <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
   368
        <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
   369
        <!-- create BOM dir -->
555e9b4085ea Removed unnecessary dependencies, to untangle the dependency graph a little.
Simon Howkins <simonh@symbian.org>
parents: 698
diff changeset
   370
        <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
   371
        
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
   372
        <!-- 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
   373
        <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
   374
        <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
   375
            <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
   376
            <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
   377
                <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
   378
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
   379
                <!-- record toolsbaseline information in BOM file -->
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
   380
                <echo message="${sf.spec.toolsbaseline.location}" 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
   381
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
   382
                <!-- 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
   383
                <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
   384
                
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
   385
                <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
   386
                <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
   387
                    <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
   388
                    <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
   389
                </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
   390
                <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
   391
            </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
   392
        </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
   393
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
   394
        <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
   395
        <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
   396
            <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
   397
            <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
   398
                <stopwatch name="sf-getenvs (baseline)"/>
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
   399
                <!-- record baseline information in BOM file -->
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
   400
                <echo message="${sf.spec.baseline.location}" 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
   401
                
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
   402
                <!-- run internal target preparation-getenv -->
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
   403
                <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
   404
                <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
   405
            </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
   406
        </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
   407
        <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
   408
    </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
   409
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
   410
    <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
   411
        <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
   412
            <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
   413
            <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
   414
        </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
   415
    </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
   416
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
   417
    <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
   418
        <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
   419
        <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
   420
        <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
   421
        <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
   422
            <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
   423
            <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
   424
                <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
   425
                <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
   426
            </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
   427
        </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
   428
        <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
   429
    </target>
892
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   430
    
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
   431
    <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
   432
        <stopwatch name="sf-get-source"/>
939
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 927
diff changeset
   433
        <!-- Get test manifest, and move resolved csv so that it doesnt conflict with source-spec.ant.xml -->
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 927
diff changeset
   434
        <ant antfile="${temp.build.dir}/source-test-spec.ant.xml" />
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 927
diff changeset
   435
        <move file="${build.drive}/output/logs/BOM/sources.csv" tofile="${build.drive}/output/logs/BOM/sources_test.csv"/>
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
   436
        <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
   437
        <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
   438
    </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
   439
    
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   440
    <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
   441
        <!-- 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
   442
        <if>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   443
            <and>    
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   444
                <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
   445
                <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
   446
            </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
   447
            <then>
892
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   448
                <!-- 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
   449
                <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
   450
                    <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
   451
                    <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
   452
                </exec>
892
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   453
                <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
   454
                    <sequential>
895
5b76b79b6713 Add missing /
Simon Howkins <simonh@symbian.org>
parents: 892
diff changeset
   455
                        <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
   456
                    </sequential>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   457
                </for>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   458
                <if>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   459
                    <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
   460
                    <then>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   461
                        <!-- 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
   462
                        <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
   463
                            <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
   464
                            <arg value="-capacity"/>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   465
                        </exec>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   466
                        <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
   467
                        <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
   468
                    </then>
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   469
                </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
   470
            </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
   471
        </if>
892
24ecf67cba71 Bug 1661: Improve build speed with better caching strategy
Simon Howkins <simonh@symbian.org>
parents: 891
diff changeset
   472
        
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
   473
        <!-- 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
   474
        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
   475
        <!-- 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
   476
        <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
   477
        
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   478
        <property name="sf.test.csv.file" value="nul:"/>
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
   479
        
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
   480
        <if>
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
   481
            <istrue value="${sf.spec.sourcesync.enable}" />
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
   482
            <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
   483
                <property name="sf.source.csv.file" value="${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile}"/>
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
   484
            </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
   485
        </if>
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
   486
        <property name="sf.source.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
   487
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   488
        <fmpp sourceFile="${sf.common.config.dir}/templates/source-spec.ant.xml.ftl"
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   489
              outputFile="${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
   490
              <data expandProperties="yes">
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   491
                    ant: antProperties()
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   492
                    data: [
939
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 927
diff changeset
   493
                        csv(${sf.source.csv.file}, {separator:','})
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 927
diff changeset
   494
                    ]
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 927
diff changeset
   495
              </data>
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 927
diff changeset
   496
        </fmpp>
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 927
diff changeset
   497
        <fmpp sourceFile="${sf.common.config.dir}/templates/source-spec.ant.xml.ftl"
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 927
diff changeset
   498
              outputFile="${temp.build.dir}/source-test-spec.ant.xml">
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 927
diff changeset
   499
              <data expandProperties="yes">
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 927
diff changeset
   500
                    ant: antProperties()
4dd6f1dde1fe 1) Add support for parallel makefile generation by spliting compile into two-step operation. export first, followed by compile.
Shabe Razvi <shaber@symbian.org>
parents: 927
diff changeset
   501
                    data: [
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
   502
                        csv(${sf.test.csv.file}, {separator:','})
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   503
                    ]
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   504
              </data>
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   505
        </fmpp>
d33d458149b9 Move targets round so that those related to syncing the source are all together.
Simon Howkins <simonh@symbian.org>
parents: 864
diff changeset
   506
    </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
   507
    
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
   508
    <!-- 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
   509
    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
   510
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
   511
    <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
   512
        <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
   513
        <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
   514
        <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
   515
    
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
   516
        <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
   517
            <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
   518
            <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
   519
                <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
   520
                <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
   521
                    <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
   522
                    <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
   523
                    <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
   524
                </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
   525
            </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
   526
        </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
   527
    </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
   528
    
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
   529
    <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
   530
        <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
   531
        <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
   532
        <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
   533
        
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
   534
        <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
   535
            <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
   536
            <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
   537
                <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
   538
                <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
   539
                    <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
   540
                    <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
   541
                    <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
   542
                </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
   543
            </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
   544
        </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
   545
    </target>
62
2771e394c9bd Catchup from main repo
DarioS@UK-DarioS.symbian.int
parents: 61 40
diff changeset
   546
  
65
0099c046d4f3 Add intersection target to FBF
ShabeR@UK-SHABER
parents: 63
diff changeset
   547
    <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
   548
        <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
   549
        <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
   550
        <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
   551
    
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
   552
        <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
   553
            <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
   554
            <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
   555
                <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
   556
                <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
   557
                    <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
   558
                    <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
   559
                    <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
   560
                    <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
   561
                </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
   562
            </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
   563
        </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
   564
    </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
   565
721
555e9b4085ea Removed unnecessary dependencies, to untangle the dependency graph a little.
Simon Howkins <simonh@symbian.org>
parents: 698
diff changeset
   566
    <!-- 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
   567
    <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
   568
        <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
   569
    </target>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   570
    
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   571
    <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
   572
      <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
   573
    </target>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   574
    
240
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   575
  <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
   576
    <stopwatch name="sf-truclean"/>
240
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   577
    <if>
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   578
      <istrue value="${sf.spec.build.clean.enable}"/>
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   579
      <then>
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   580
        <echo message="Executing truclean step."/>
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   581
        <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
   582
            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
   583
          <data expandProperties="yes">
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   584
              ant: antProperties()
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   585
              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
   586
          </data>
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   587
        </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
   588
        <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
   589
      </then>
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   590
      <else>
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   591
        <echo message="Skipping truclean step."/>
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   592
      </else>
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   593
    </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
   594
    <stopwatch name="sf-truclean" action="elapsed"/>
240
5705f5c8f10d Adding truclean step to the package build
Dario Sestito <darios@symbian.org>
parents: 224
diff changeset
   595
  </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
   596
  
779cc88ed845 Allow subprojects within a project repo and model file relative to the subproject dir
Dario Sestito <darios@symbian.org>
parents: 321
diff changeset
   597
  <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
   598
    <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
   599
    <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
   600
      <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
   601
      <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
   602
        <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
   603
        <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
   604
        <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
   605
      </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
   606
      <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
   607
        <!-- 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
   608
        <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
   609
        <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
   610
          <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
   611
          <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
   612
          <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
   613
        </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
   614
      </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
   615
    </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
   616
    <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
   617
  </target>
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   618
    
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
   619
    <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
   620
        <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
   621
              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
   622
            <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
   623
                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
   624
                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
   625
                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
   626
                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
   627
                toolsbaseline: slicedText(${build.drive}/output/logs/BOM/toolsbaseline.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
   628
                sources: csv(${build.drive}/output/logs/BOM/sources.csv,{separator:',',headers:[loc,dst,type,rev,sysdef]})              
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
   629
            </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
   630
        </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
   631
        <!-- 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
   632
        <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
   633
    </target>
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   634
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
   635
    <target name="sf-preprocess-package-config">
614
ebd02353c4d9 Added work-around for the QEMU package whilst it's still in an interim location, but we want to release it in a PDK.
Simon Howkins <simonh@symbian.org>
parents: 610
diff changeset
   636
	<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
   637
        <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
   638
            <arg value="${sf.common.config.dir}/tools/populateziptemplate.pl"/>
166
32693583e769 Added Hg local cache management feature.
ThomasE
parents: 161
diff changeset
   639
            <arg value="${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile}"/>
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
   640
            <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
   641
            <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
   642
            <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
   643
        </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
   644
        <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
   645
            <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
   646
            <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
   647
            <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
   648
            <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
   649
        </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
   650
    </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
   651
    
679
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   652
    <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
   653
        <!-- 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
   654
        <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
   655
          <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
   656
            <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
   657
            <not>
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   658
              <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
   659
                <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
   660
                  <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
   661
                    <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
   662
                    <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
   663
                  </srcfiles>
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   664
                </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
   665
                <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
   666
                  <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
   667
                    <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
   668
                  </srcfiles>
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   669
                </uptodate>
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   670
              </and>
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   671
            </not>
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   672
          </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
   673
          <then>
679
7e493c0264f3 Replaced <available> check with an <uptodate> check, to greatly help people working
Simon Howkins <simonh@symbian.org>
parents: 677
diff changeset
   674
            <!-- (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
   675
            <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
   676
          </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
   677
        </if>
864
2b0f08dedb30 Intelligent way of getting timings for ALL uses of sf-zip-content
Simon Howkins <simonh@symbian.org>
parents: 861
diff changeset
   678
        <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
   679
        <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
   680
          <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
   681
            <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
   682
            <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
   683
            <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
   684
            <if><isset property="sf.using.newer.than.helium5"/>
a15a7e841752 Turn off zipContentMacro failure for empty zip targets in Helium 7
Shabe Razvi <shaber@symbian.org>
parents: 926
diff changeset
   685
            <then>
a15a7e841752 Turn off zipContentMacro failure for empty zip targets in Helium 7
Shabe Razvi <shaber@symbian.org>
parents: 926
diff changeset
   686
                <hlm:zipContentMacro type="${zip.target.name}" file="${zip.config.file}" failonemptyconfig="false"/>
a15a7e841752 Turn off zipContentMacro failure for empty zip targets in Helium 7
Shabe Razvi <shaber@symbian.org>
parents: 926
diff changeset
   687
            </then>
a15a7e841752 Turn off zipContentMacro failure for empty zip targets in Helium 7
Shabe Razvi <shaber@symbian.org>
parents: 926
diff changeset
   688
            <else>
a15a7e841752 Turn off zipContentMacro failure for empty zip targets in Helium 7
Shabe Razvi <shaber@symbian.org>
parents: 926
diff changeset
   689
                <hlm:zipContentMacro type="${zip.target.name}" file="${zip.config.file}" />
a15a7e841752 Turn off zipContentMacro failure for empty zip targets in Helium 7
Shabe Razvi <shaber@symbian.org>
parents: 926
diff changeset
   690
            </else>
a15a7e841752 Turn off zipContentMacro failure for empty zip targets in Helium 7
Shabe Razvi <shaber@symbian.org>
parents: 926
diff changeset
   691
            </if>
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
   692
          </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
   693
          <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
   694
            <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
   695
          </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
   696
        </if>
864
2b0f08dedb30 Intelligent way of getting timings for ALL uses of sf-zip-content
Simon Howkins <simonh@symbian.org>
parents: 861
diff changeset
   697
        <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
   698
    </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
   699
    
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
   700
    <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
   701
        <!-- 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
   702
        <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
   703
            <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
   704
            <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
   705
        </antcall>
1ba3c86ebec0 Bug 350 RnD binary zips missing all content outside epoc32 tree
Simon Howkins <simonh@symbian.org>
parents: 441
diff changeset
   706
        <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
   707
            <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
   708
            <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
   709
        </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
   710
        <if>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   711
            <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
   712
            <then>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   713
                <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
   714
                <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
   715
                    <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
   716
                    <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
   717
                </antcall>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   718
                <!-- 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
   719
                <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
   720
                    <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
   721
                    <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
   722
                </antcall>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   723
            </then>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   724
        </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
   725
    </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
   726
    
461
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   727
    <!-- 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
   728
    <target name="sf-unpack-rnd">
109
cb16ca6483d9 Unpack actual RnD zips rather than fastcopy. Add build collisions tool to <sf-run-analysis> target.
Shabe Razvi <shaber@symbian.org>
parents: 103
diff changeset
   729
        <echo message="Unpacking any available RnD binaries"/>
461
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   730
        <for param="rndZip">
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   731
            <fileset dir="${build.drive}/output/zips/">
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   732
                <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
   733
                <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
   734
            </fileset>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   735
            <sequential>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   736
                <exec executable="7za" dir="${build.drive}" output="${build.log.dir}/unzip_${build.id}_binaries_rnd.log" append="true">
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   737
                    <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
   738
                    <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
   739
                    <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
   740
                    <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
   741
                </exec>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   742
            </sequential>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   743
	</for>
874d24067366 Fixed the initial population of the epoc32 tree with rnd bins to deal
Simon Howkins <simonh@symbian.org>
parents: 456
diff changeset
   744
    </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
   745
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
   746
  <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
   747
    <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
   748
    <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
   749
  </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
   750
    
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
   751
    <!-- 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
   752
    <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
   753
        <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
   754
        <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
   755
        <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
   756
            <arg value="${sf.common.config.dir}/tools/brag/logToBRAG.pl"/>
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
   757
	    <arg value="--phase=${sf.brag.phase}"/>
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
   758
            <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
   759
            <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
   760
            <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
   761
        </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
   762
        <!-- 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
   763
        <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
   764
    </target>
698
382728cd25d2 Add sf-rombuild target to build ROMs. Backout ARM license check suppression.
Shabe Razvi <shaber@symbian.org>
parents: 681
diff changeset
   765
       
41
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   766
</project>
f137ddbb714d Added tagging of source code used in the build
dariosestito@L063522.prod.ad.symbian.intra
parents: 30
diff changeset
   767