buildframework/helium/tools/compile/sbs/sbs.ant.xml
author wbernard
Tue, 27 Apr 2010 08:33:08 +0300
changeset 587 85df38eb4012
parent 217 0f5e3a7fb6af
child 588 c7c26511138f
child 618 df88fead2976
permissions -rw-r--r--
helium_9.0-a7879c935424
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
     1
<?xml version="1.0" encoding="UTF-8"?>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
     2
<!-- 
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
     3
============================================================================ 
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
     4
Name        : sbs.ant.xml 
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
     5
Part of     : Helium 
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
     6
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
     7
Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
     8
All rights reserved.
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
     9
This component and the accompanying materials are made available
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    10
under the terms of the License "Eclipse Public License v1.0"
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    11
which accompanies this distribution, and is available
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    12
at the URL "http://www.eclipse.org/legal/epl-v10.html".
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    13
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    14
Initial Contributors:
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    15
Nokia Corporation - initial contribution.
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    16
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    17
Contributors:
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    18
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    19
Description:
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    20
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    21
============================================================================
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    22
-->
217
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
    23
<!--* @package compile -->
1
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    24
<project name="compile.sbs" xmlns:hlm="http://www.nokia.com/helium">
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    25
    <description>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    26
    Executes compilation of a System Model of System Definition file using Symbian SBS (Raptor) tools. 
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    27
    </description>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    28
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    29
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    30
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
    31
    <!--
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
    32
        Executes compilation  of a System Model of System Definition file using Symbian SBS (Raptor) tools. 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
    33
        Should not be called directly but through compile-main by setting ${build.system.sbs} property.
1
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    34
    -->
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    35
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
    36
    <!--* @property sbs.build.ctc
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
    37
     This property enables Raptor compilation using ctc. 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
    38
     @type boolean
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
    39
     @scope public
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
    40
     -->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
    41
    
217
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
    42
    <!-- skip sbs layer filtering (true) for new schema and false for schema 1.4.0
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
    43
    @type boolean
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
    44
    -->
1
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    45
    <property name="skip.sbs.layer.generation" value="false" />
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    46
    
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    47
    <!-- This target filters the canonical system definition file compare to the "raptor_${sysdef.configuration}" filter. -->
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    48
    <macrodef name="generate-layers" uri="http://www.nokia.com/helium">
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    49
        <sequential>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    50
            <echo message="canno-file:${canonical.sysdef.file}" />
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    51
            <echo message="raptor-filters:raptor_${sysdef.configuration}" />
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    52
            <if>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    53
                <istrue value="${skip.sbs.layer.generation}" />
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    54
                <then>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    55
                    <copy file="${canonical.sysdef.file}" tofile="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}_temp.xml"/>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    56
                </then>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    57
                <else>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    58
                    <hlm:compileGenxmlFilterMacro input="${canonical.sysdef.file}" filter="raptor_${sysdef.configuration}"
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    59
                        output="${build.output.dir}/build/canonical_system_definition_${sysdef.configuration}_temp.xml"/>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    60
                </else>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    61
            </if>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    62
            <copy file="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}_temp.xml"
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    63
                    tofile="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}.xml">
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    64
                <filterchain>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    65
                    <linecontainsregexp negate="true">
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    66
                        <regexp pattern="^\s*$"/>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    67
                    </linecontainsregexp>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    68
                </filterchain>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    69
            </copy>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    70
            <delete file="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}_temp.xml"/>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    71
        </sequential>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    72
    </macrodef>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    73
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    74
    <!-- SBS build with gmake as engine type. Default is using sbs macro, to use old implementation to
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    75
    use using exec task, then sbs.using.exec needs to be set. -->
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    76
    <target name="compile-sbs" description="This is the main build that gets built for ARMV5 and WINSCW platforms">
179
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
    77
        <!-- only temporary once config file option starts to work, then no 
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
    78
        need to copy the plugin file -->
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
    79
1
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    80
        <if>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    81
            <or>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    82
                <equals arg1="${build.system}" arg2="sbs" />
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    83
                <equals arg1="${build.system}" arg2="sbs-ec" />
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    84
            </or>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    85
            <then>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    86
                <echo message="Copying helium filter plugin to sbs home" />
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    87
                <copy file="${helium.dir}/tools/common/python/scripts/filter_metadatalog.py" todir="${env.SBS_HOME}/python/plugins/" failonerror="true" />
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
    88
                <copy file="${helium.dir}/tools/common/python/scripts/sbsscanlogmetadata.py" todir="${env.SBS_HOME}/python/plugins/" failonerror="true" />
217
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
    89
                <var name="sbs.internal.inputs.list" value="" unset="true"/>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
    90
                <if>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
    91
                    <istrue value="${schema.new}" />
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
    92
                    <then>
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
    93
                        <hlm:downgradeSysdef epocroot="${build.drive}/" srcfile="${canonical.sysdef.file}" 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
    94
                            destfile="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}.xml"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
    95
                        <var name="sbs.patternset" unset="true"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
    96
                        <if>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
    97
                            <isreference refid="sysdef.filters.${sysdef.configuration}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
    98
                            <then>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
    99
                                <property name="sbs.patternset" value="sysdef.filters.${sysdef.configuration}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
   100
                                <echo message="sbs.patternset: ${sbs.patternset}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
   101
                            </then>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
   102
                            <else>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
   103
                                <echo message="The sysdef.${sysdef.configuration} patternset is not defined." />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
   104
                            </else>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
   105
                        </if>
217
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   106
                    </then>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   107
                    <else>
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
   108
                        <hlm:generate-layers />
217
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   109
                    </else>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   110
                </if>
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
   111
                <var name="sbs.internal.inputs.list" value="" unset="true"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
   112
                <hlm:getsbsinputs config="sbs.${sysdef.configuration}" outputProperty="sbs.internal.inputs.list"/>
217
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   113
                <for list="${sbs.internal.inputs.list}" delimiter="," param="sbs.input">
179
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   114
                    <sequential>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   115
                        <echo message="building raptor input: @{sbs.input}" />
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
   116
                        <var name="sbs.log.file" unset="true" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
   117
                        <property name="sbs.log.file" location="${compile.log.dir}/${build.id}_${sysdef.configuration}_@{sbs.input}_compile.log" />
179
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   118
                        <!-- run arm license checking / setting arm version only for arm config -->
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   119
                        <hlm:getVariableValue name="-c" property="compilevalue.var" failOnerror="false">
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   120
                            <hlm:sbsinput refid="@{sbs.input}" />
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   121
                        </hlm:getVariableValue>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   122
                        <echo message="config parameter -c : ${compilevalue.var}" />
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   123
                        <if>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   124
                            <and>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   125
                                <isset property="compilevalue.var"/>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   126
                                <matches string="${compilevalue.var}" pattern="arm.*"/>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   127
                            </and>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   128
                            <then>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   129
                                <runtarget target="set-arm-version"/>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   130
                            </then>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   131
                        </if>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   132
                        <!-- Generate the filtered layers -->
217
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   133
                        <if>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   134
                            <isset property="run.coverity"/>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   135
                            <then>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   136
                                <hlm:coveritybuild  sbsinput="@{sbs.input}" 
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   137
                                                    sysdeffile="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}.xml"
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   138
                                                    layerpatternsetref="${sbs.patternset}" 
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   139
                                                    workingdir="${build.drive}/" 
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   140
                                                    execute="true"
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   141
                                                    failonerror="false"
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   142
                                                    outputlog="${sbs.log.file}" 
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
   143
                                                    erroroutput="${sbs.log.file}.sbs_error.log">
217
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   144
                                    <hlm:coverityoptions refid="coverity.build.options"/>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   145
                                </hlm:coveritybuild>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   146
                            </then>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   147
                            <elseif>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   148
                                <istrue value="${sbs.build.ctc}"/>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   149
                                <then>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   150
                                    <hlm:ctctask sbsinput="@{sbs.input}" 
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   151
                                                    sysdefFile="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}.xml" 
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   152
                                                    layerPatternSetRef="${sbs.patternset}" 
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   153
                                                    errorOutput="${sbs.log.file}.sbs_error.log" 
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   154
                                                    workingDir="${build.drive}/" 
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   155
                                                    failOnError="false" 
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
   156
                                                    outputLog="${sbs.log.file}" />                                
217
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   157
                                </then>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   158
                            </elseif>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   159
                            <else>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   160
                                <hlm:sbstask sbsinput="@{sbs.input}" 
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   161
                                                sysdefFile="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}.xml" 
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   162
                                                layerPatternSetRef="${sbs.patternset}" 
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   163
                                                errorOutput="${sbs.log.file}.sbs_error.log" 
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   164
                                                workingDir="${build.drive}/" 
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   165
                                                failOnError="false" 
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
   166
                                                outputLog="${sbs.log.file}" />
217
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   167
                            </else>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   168
                        </if>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   169
                        <hlm:assertFileExists file="${sbs.log.file}"/>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   170
                        <hlm:assertFileExists file="${sbs.log.file}.sbs_error.log"/>
179
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   171
                        <!-- run arm license checking / setting arm version only for arm config --> 
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   172
                        <echo message="sbs.log.file: ${sbs.log.file}" />
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   173
                        <hlm:sbsProcessOutputMacro sbs.log.file="${sbs.log.file}"
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   174
                            sbs.ant.output.file="${sbs.log.file}" sbs.error.output.file="${sbs.log.file}.sbs_error.log"/>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   175
                    </sequential>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   176
                </for>
1
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   177
            </then>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   178
        </if>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   179
    </target>
217
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   180
    
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   181
    
179
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   182
    <macrodef name="sbsProcessOutputMacro" uri="http://www.nokia.com/helium">
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   183
        <attribute name="sbs.log.file" />
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   184
        <attribute name="sbs.error.output.file" />
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   185
        <attribute name="sbs.ant.output.file" />
1
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   186
        <sequential>
217
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   187
            <var name="sbs.scan2.template" value="scan2_orm.html.ftl" />
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   188
            <var name="base.sbs.log" value="" unset="true"/>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   189
            <basename property="base.sbs.log" file="@{sbs.log.file}" />
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   190
            <echo message="base.sbs.log: ${base.sbs.log}" />
179
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   191
            <hlm:metadatarecord database="${metadata.dbfile}">
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   192
                <hlm:textmetadatainput>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   193
                    <fileset casesensitive="false" file="@{sbs.error.output.file}"/>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   194
                    <metadatafilterset refid="filterset.sbs" />
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   195
                </hlm:textmetadatainput>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   196
            </hlm:metadatarecord>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   197
            <basename property="base.sbs.ant.output.log" file="@{sbs.ant.output.file}" />
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   198
            <hlm:signalMacro logfile="@{sbs.error.output.file}" 
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   199
                signal.input="raptorErrorSignalInput" phase="compile"/>
1
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   200
            <!-- update the resultes to database -->
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   201
            <echo message="Metadata enabled, storing build status in database" />
179
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   202
            <echo message="sbs log file :@{sbs.log.file}" />
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   203
            <trycatch property="hlm-sbs.parser.thrown">
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   204
                <try>
217
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   205
                    <hlm:metadatarecord  database="${metadata.dbfile}">
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
   206
                        <hlm:sbsmetadatainput>
179
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   207
                            <fileset casesensitive="false" file="@{sbs.log.file}"/>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   208
                            <metadatafilterset refid="filterset.sbs" />
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   209
                        </hlm:sbsmetadatainput>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   210
                    </hlm:metadatarecord>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   211
                </try>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   212
                <catch>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   213
                    <if>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   214
                        <istrue value="${skip.sbs.parser.exception}" />
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   215
                        <then>
217
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   216
                            <var name="sbs.scan2.template" value="scan2_text_orm.html.ftl" />
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   217
                            <hlm:metadatadelete database="${metadata.dbfile}">
179
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   218
                                <fileset casesensitive="false" file="@{sbs.log.file}"/>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   219
                            </hlm:metadatadelete>
217
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   220
                            <hlm:metadatarecord database="${metadata.dbfile}" >
179
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   221
                                <hlm:textmetadatainput>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   222
                                    <fileset casesensitive="false" file="@{sbs.log.file}"/>
217
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   223
                                    <metadatafilterset refid="filterset.sbs" />
179
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   224
                                </hlm:textmetadatainput>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   225
                            </hlm:metadatarecord>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   226
                        </then>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   227
                        <else>
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
   228
                            <loadfile property="sbs.error.output" srcfile="@{sbs.error.output.file}" failonerror="false"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
   229
                            <fail message="failed during raptor log parsing: might be due to invalid xml output from raptor ${hlm-sbs.parser.thrown}. ${sbs.error.output}" />
179
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   230
                        </else>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   231
                    </if>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   232
                </catch>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   233
            </trycatch>
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   234
            <fmpp sourceFile="${helium.dir}/tools/common/templates/log/${sbs.scan2.template}"
217
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   235
                         outputfile="${build.log.dir}/${base.sbs.log}.scan2.html">
1
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   236
                <freemarkerLinks expandProperties="yes">
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   237
                    macro: ${helium.dir}/tools/common/templates/macro
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   238
                </freemarkerLinks>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   239
                <data expandProperties="yes">
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   240
                    dbPath: ${metadata.dbfile}
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents: 217
diff changeset
   241
                    logfilename: @{sbs.log.file}
1
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   242
                    ant: antProperties()
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   243
                </data>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   244
            </fmpp>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   245
            <echo message="generating signal" />
217
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   246
            <hlm:assertFileExists file="${build.log.dir}/${base.sbs.log}.scan2.html"/>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   247
            <hlm:compileLogSignalMacro compile.summary.file="@{sbs.log.file}" 
179
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   248
                error.limit="${build.errors.limit}" phase="compile"/>
1
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   249
            <!-- Blocks packaging configuration generation. -->
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   250
            <if>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   251
                <istrue value="${blocks.enabled}" />
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   252
                <then>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   253
                    <mkdir dir="${blocks.config.dir}" />
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   254
                    <exec executable="python">
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   255
                        <arg value="-m"/>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   256
                        <arg value="packager.cli"/>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   257
                        <arg value="--epocroot=${build.drive}/" />
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   258
                        <arg value="--config=${blocks.config.dir}" />
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   259
                        <arg value="--datasource=sbs" />
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   260
                        <arg value="-Dsbslog=${sbs.log.file}" />
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   261
                        <arg value="-Dsysdef=${canonical.sysdef.file}" />
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   262
                        <arg value="-Dthreads=20" />
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   263
                        <arg value="--updateData" />
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   264
                    </exec>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   265
                </then>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   266
            </if>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   267
        </sequential>
be27ed110b50 Bringing in Helium, imaker and cmaker
Alex Gilkes <alex.gilkes@nokia.com>
parents:
diff changeset
   268
    </macrodef>
217
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   269
    
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   270
    <scriptdef language="jython" name="getSbsHome" uri="http://www.nokia.com/helium">
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   271
        <attribute name="property" />
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   272
if attributes.get("property") is None:
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   273
    raise Exception("property attribute has not been set.")
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   274
if project.getProperty(attributes.get("property")) is None:
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   275
    import symbian.raptor
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   276
    sbs_home = symbian.raptor.getSBSHome()
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   277
    if sbs_home is not None:
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   278
        #self.log("Found SBS_HOME as " + sbs_home)
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   279
        project.setNewProperty(attributes.get("property"), sbs_home)
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   280
    </scriptdef>
0f5e3a7fb6af helium_8.0-r15308
wbernard
parents: 179
diff changeset
   281
179
d8ac696cc51f helium_7.0-r14027
wbernard
parents: 1
diff changeset
   282
</project>