buildframework/helium/sf/java/sysdef/src/com/nokia/helium/sysdef/templates/root_sysdef_model.xml.ftl
author wbernard
Fri, 13 Aug 2010 14:59:05 +0300
changeset 628 7c4a911dc066
parent 587 85df38eb4012
child 645 b8d81fa19e7d
permissions -rw-r--r--
helium_11.0.0-e00f171ca185
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     1
<#--
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     2
============================================================================ 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     3
Name        : root_sysdef_model.xml.ftl 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     4
Part of     : Helium 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     5
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     6
Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     7
All rights reserved.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     8
This component and the accompanying materials are made available
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     9
under the terms of the License "Eclipse Public License v1.0"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    10
which accompanies this distribution, and is available
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    11
at the URL "http://www.eclipse.org/legal/epl-v10.html".
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    12
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    13
Initial Contributors:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    14
Nokia Corporation - initial contribution.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    15
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    16
Contributors:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    17
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    18
Description:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    19
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    20
============================================================================
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    21
-->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    22
<?xml version="1.0" encoding="UTF-8"?>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    23
<!-- 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    24
============================================================================ 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    25
Name        : package_model.xml 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    26
Part of     : Helium
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    27
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    28
Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    29
All rights reserved.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    30
This component and the accompanying materials are made available
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    31
under the terms of the License "Eclipse Public License v1.0"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    32
which accompanies this distribution, and is available
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    33
at the URL "http://www.eclipse.org/legal/epl-v10.html".
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    34
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    35
Initial Contributors:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    36
Nokia Corporation - initial contribution.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    37
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    38
Contributors:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    39
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    40
Description:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    41
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    42
============================================================================
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    43
-->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    44
<!DOCTYPE SystemDefinition [
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    45
<!ELEMENT SystemDefinition ( systemModel | layer | package | collection | component)>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    46
<!ATTLIST SystemDefinition
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    47
  schema CDATA #REQUIRED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    48
  id-namespace CDATA "http://www.symbian.org/system-definition"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    49
>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    50
<!-- this DTD describes schema="3.0.0" --> 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    51
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    52
<!-- all relative paths are relative to this file
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    53
    all absolute paths are relative to the environment variable specified by the root attribute, or SRCROOT if not.  -->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    54
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    55
<!-- Container for metadata
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    56
    meta, if present, should always be the first element in the parent 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    57
     -->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    58
<!ELEMENT meta ANY>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    59
<!ATTLIST meta
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    60
  href      CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    61
  type  CDATA "auto"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    62
  rel   CDATA "Generic"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    63
>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    64
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    65
<!-- systemModel element has name but no ID -->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    66
<!ELEMENT systemModel (meta*, layer+)>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    67
<!ATTLIST systemModel
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    68
  name CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    69
>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    70
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    71
<!-- All items from layer down to component should have either @href or at least one valid child item.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    72
    Anything else will be considered a placeholder
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    73
    -->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    74
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    75
<!ELEMENT layer (meta*, (package | collection)*)  >
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    76
<!ATTLIST layer
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    77
  id ID #REQUIRED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    78
  name CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    79
  href      CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    80
  levels NMTOKENS #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    81
  span CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    82
  before NMTOKEN #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    83
>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    84
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    85
<!ELEMENT package (meta*,  (package | collection)*)>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    86
 <!-- Nested packages are for backwards compatibility only -->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    87
<!ATTLIST package
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    88
  id ID #REQUIRED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    89
  name CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    90
  version CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    91
  tech-domain CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    92
  href   CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    93
  levels NMTOKENS #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    94
  span CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    95
  level NMTOKEN #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    96
  before NMTOKEN #IMPLIED  
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    97
>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    98
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    99
<!ELEMENT collection (meta*, (component* ))>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   100
<!ATTLIST collection
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   101
  id ID #REQUIRED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   102
  name CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   103
  href      CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   104
  level NMTOKEN #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   105
  before NMTOKEN #IMPLIED  
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   106
>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   107
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   108
<!ELEMENT component (meta*, unit*)>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   109
<!-- contains units or is a placeholder -->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   110
<!ATTLIST component
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   111
  id ID #REQUIRED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   112
  name CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   113
  href      CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   114
  deprecated CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   115
  introduced CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   116
  target  ( device | desktop | other ) "device"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   117
  purpose ( optional | mandatory | development ) "optional"  
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   118
  class NMTOKENS #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   119
  filter CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   120
  before NMTOKEN #IMPLIED  
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   121
  origin-model CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   122
>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   123
<!--
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   124
    "filter" attribute is deprecated
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   125
    "origin-model" attribute is only to be inserted by tools when merging models
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   126
    recommended class values are: doc, config, plugin, tool, api -->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   127
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   128
<!ELEMENT unit EMPTY >
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   129
<!ATTLIST unit
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   130
  mrp CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   131
  bldFile CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   132
  base CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   133
  root CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   134
  version NMTOKEN #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   135
  prebuilt NMTOKEN #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   136
  late (yes|no) #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   137
  filter CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   138
  priority CDATA #IMPLIED
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   139
>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   140
<!-- filter and priority are deprecated 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   141
    "root" attribute will usually be inserted by tools when merging models, although it can be set manually-->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   142
]>
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 587
diff changeset
   143
<SystemDefinition schema="3.0.0" <#if (idnamespace?? && idnamespace!="http://www.symbian.org/system-definition")>xmlns:vendor="${idnamespace}"</#if>>
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 587
diff changeset
   144
<systemModel name="<#list roots?keys as root>${root}<#if root_has_next>_</#if></#list>">
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   145
<#list layers?keys as layer>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   146
    <layer id="${layer}" name="${layer}">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   147
    <#list roots?keys as root>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   148
        <#if roots[root]?keys?seq_contains(layer)>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   149
            <#list roots[root][layer] as pkg>
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 587
diff changeset
   150
                    <#assign namespaces="" />
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 587
diff changeset
   151
                    <#if (idnamespace?? && idnamespace!="http://www.symbian.org/system-definition")>
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 587
diff changeset
   152
                        <#assign pkgid="vendor:${pkg['id']}" />
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 587
diff changeset
   153
                    <#else>
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 587
diff changeset
   154
                        <#assign pkgid="${pkg['id']}" />
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 587
diff changeset
   155
                    </#if>
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 587
diff changeset
   156
                    <#list pkg['namespaces']?keys as ns>
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 587
diff changeset
   157
                        <#if pkg['namespaces'][ns] != "http://www.symbian.org/system-definition">                        
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 587
diff changeset
   158
                            <#assign namespaces="${namespaces} ${ns}=\"${pkg['namespaces'][ns]}\"" />
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 587
diff changeset
   159
                        <#else>
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 587
diff changeset
   160
                            <#assign nsname=ns?replace("xmlns:", '')>
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 587
diff changeset
   161
                            <#if pkg['id']?starts_with("${nsname}:")>
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 587
diff changeset
   162
                                <#assign pkgid=pkg['id']?replace("${nsname}:", '') />
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 587
diff changeset
   163
                            </#if>
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 587
diff changeset
   164
                        </#if>
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 587
diff changeset
   165
                    </#list> 
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 587
diff changeset
   166
         <package id="${pkgid}" href="${dest_dir_to_epocroot?replace('\\', '/')}${root}/${layer}/${pkg['path']}/package_definition.xml" ${namespaces}/>
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   167
            </#list>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   168
        </#if>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   169
    </#list>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   170
    </layer>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   171
</#list>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   172
</systemModel>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   173
</SystemDefinition>