buildframework/helium/sf/java/imaker/imaker.rst
changeset 587 85df38eb4012
child 628 7c4a911dc066
equal deleted inserted replaced
217:0f5e3a7fb6af 587:85df38eb4012
       
     1 .. index::
       
     2   module: Configuring ROM creation
       
     3 
       
     4 ========================
       
     5 Configuring ROM creation
       
     6 ========================
       
     7 
       
     8 Called by ``build-roms`` target.
       
     9 
       
    10 .. index::
       
    11    single: imakerconfigurationset type
       
    12 
       
    13 The imakerconfigurationset type
       
    14 -------------------------------
       
    15 
       
    16 Information on how to configure the properties is given below:
       
    17 
       
    18 The imakerconfigurationset supports imakerconfiguration nested elements.
       
    19 
       
    20 '''imakerconfiguration''' element:
       
    21 
       
    22 .. csv-table:: Ant properties to modify
       
    23    :header: "Attribute", "Description", "Values"
       
    24 
       
    25    "``regionalVariation``", "Enable regional variation switching. - Deprecated (always false)", "false"
       
    26 
       
    27 The imakerconfiguration supports three sub-types:
       
    28 
       
    29 .. csv-table:: Ant properties to modify
       
    30    :header: "Sub-type", "Description"
       
    31 
       
    32    "``makefileset``", "Defines the list of iMaker configuration to run image creation on."
       
    33    "``targetset``", "List of regular expression used to match which target need to be executed."
       
    34    "``variableset``", "List of variable to set when executing iMaker."
       
    35 
       
    36 
       
    37 Example of configuration:
       
    38 
       
    39 .. code-block:: xml
       
    40 
       
    41    <hlm:imakerconfigurationset>
       
    42       <hlm:imakerconfiguration regionalVariation="true">
       
    43          <makefileset>
       
    44             <include name="**/product_name/*ui.mk" />
       
    45          </makefileset>
       
    46          <targetset>
       
    47             <include name="^core${r'$'}" />
       
    48             <include name="langpack_\d+" />
       
    49             <include name="^custvariant_.*${r'$'}" />
       
    50             <include name="^udaerase${r'$'}" />
       
    51          </targetset>
       
    52          <variableset>
       
    53             <variable name="USE_FOTI" value="0" />
       
    54             <variable name="USE_FOTA" value="1" />
       
    55             <variable name="TYPE" value="rnd" />
       
    56          </variableset>
       
    57       </hlm:imakerconfiguration>
       
    58    </hlm:imakerconfigurationset>
       
    59 
       
    60 
       
    61 Other example using product list and variable group:
       
    62 
       
    63 .. code-block:: xml
       
    64 
       
    65    <hlm:imakerconfigurationset>
       
    66       <hlm:imakerconfiguration>
       
    67          <hlm:product list="product_name" ui="true" failonerror="false" />
       
    68          <targetset>
       
    69             <include name="^core${r'$'}" />
       
    70             <include name="langpack_\d+" />
       
    71             <include name="^custvariant_.*${r'$'}" />
       
    72             <include name="^udaerase${r'$'}" />
       
    73          </targetset>
       
    74          <variableset>
       
    75             <variable name="USE_FOTI" value="0" />
       
    76             <variable name="USE_FOTA" value="1" />
       
    77          </variableset>
       
    78          <variablegroup>
       
    79             <variable name="TYPE" value="rnd" />
       
    80          </variablegroup>
       
    81          <variablegroup>
       
    82             <variable name="TYPE" value="subcon" />
       
    83          </variablegroup>
       
    84          <variablegroup>
       
    85             <variable name="TYPE" value="prd" />
       
    86          </variablegroup>
       
    87       </hlm:imakerconfiguration>
       
    88    </hlm:imakerconfigurationset>
       
    89 
       
    90 
       
    91 .. index::
       
    92    single: The iMaker Task
       
    93 
       
    94 How to configure the target
       
    95 ---------------------------
       
    96 
       
    97 The target can be configured by defining an hlm:imakerconfigurationset element with the '''imaker.rom.config''' reference.
       
    98 
       
    99 .. code-block:: xml
       
   100     
       
   101     <hlm:imakerconfigurationset id="imaker.rom.config">
       
   102     ...
       
   103     </hlm:imakerconfigurationset>
       
   104 
       
   105 The other configurable element is the engine. The '''imaker.engine''' property defines the reference
       
   106 to the engine configuration to use for building the roms. Helium defines two engines by default:
       
   107 * imaker.engine.default: multithreaded engine (hlm:defaultEngine type)
       
   108 * imaker.engine.ec: ECA engine - cluster base execution (hlm:emakeEngine type)
       
   109   
       
   110 If the property is not defined Helium will guess the best engine to used based on the build.system property.
       
   111