buildframework/helium/doc/src/manual/stages.rst.ftl
changeset 645 b8d81fa19e7d
parent 628 7c4a911dc066
equal deleted inserted replaced
643:27cf35f95864 645:b8d81fa19e7d
    21 -->
    21 -->
    22 
    22 
    23 .. index::
    23 .. index::
    24   module: Stages
    24   module: Stages
    25 
    25 
       
    26    
    26 =============
    27 =============
    27 Helium stages
    28 Helium stages
    28 =============
    29 =============
    29 
    30 
    30 .. contents::
    31 .. contents::
    45 .. include:: stage_publishing.rst.inc
    46 .. include:: stage_publishing.rst.inc
    46 
    47 
    47 .. include:: stage_releasing.rst.inc
    48 .. include:: stage_releasing.rst.inc
    48 
    49 
    49 Stage: Cenrep creation (S60 3.2.3 - 5.x)
    50 Stage: Cenrep creation (S60 3.2.3 - 5.x)
    50 =================================
    51 ========================================
    51 <#if !(ant?keys?seq_contains("sf"))>
    52 <#if !(ant?keys?seq_contains("sf"))>
    52 See: http://configurationtools.nmp.nokia.com/builds/cone/docs/cli/generate.html?highlight=generate
    53 See: http://configurationtools.nmp.nokia.com/builds/cone/docs/cli/generate.html?highlight=generate
    53 </#if>
    54 </#if>
    54 
    55 
    55 The target ``ido-gen-cenrep`` can be used to run the ConE Tool to generate cenreps.
    56 The target ``ido-gen-cenrep`` can be used to run the ConE Tool to generate cenreps.
    56 
    57 
    57 * IDO can use the ido-gen-cenrep to generate the cenreps which are IDO specific.
    58 * IDO can use the ido-gen-cenrep to generate the cenreps which are IDO specific.
    58 * We should pass the sysdef.configurations.list as parameter to ido-gen-cenrep target. Else it will use the defualt one of helium.
    59 * We should pass the sysdef.configurations.list as parameter to ido-gen-cenrep target. Else it will use the defualt one of helium.
    59 
    60 
    60 Example:
    61 Example
    61 -------
    62 -------
    62 
    63 
    63 Below example will generate the cenrep only for IDO specific confml files.
    64 Below example will generate the cenrep only for IDO specific confml files.
    64 
    65 
    65 .. code-block:: xml
    66 .. code-block:: xml
   103 After running this command generated file can be found from <temp.build.dir>/<build.id>_cenrep_includefile.txt
   104 After running this command generated file can be found from <temp.build.dir>/<build.id>_cenrep_includefile.txt
   104 
   105 
   105 
   106 
   106 .. include:: stage_integration.rst.inc
   107 .. include:: stage_integration.rst.inc
   107 
   108 
   108 .. include:: stage_ats.rst.inc
       
   109 
   109 
   110 .. include:: stage_matti.rst.inc
   110 Stage: Testing
       
   111 ==============
   111 
   112 
   112 Stage: Check EPL License header.
   113 The test sources or test asset is mantained by test developers, who follow certain rules and standards to create the directory/file structure and writing the tests.
   113 =================================
   114 
       
   115 Testing is performed automatically by ATS server which receives a zipped testdrop, containing test.xml file (required by ATS), ROM images, test cases, dlls, executbales and other supporting files. This testdrop is created by Helium Test Automation system. 
       
   116  
       
   117 Read more: `Helium Test Automation User Guide`_
       
   118 
       
   119 .. _`Helium Test Automation User Guide`: stage_ats.html
       
   120 
       
   121 
       
   122     
       
   123 
       
   124 Stage: Check EPL License header
       
   125 ===============================
   114 
   126 
   115 The target ``check-sf-source-header`` could be used to run to validate the source files for EPL license header.
   127 The target ``check-sf-source-header`` could be used to run to validate the source files for EPL license header.
   116 
   128 
   117 * Include the target ``check-sf-source-header`` in the target sequence.
   129 * Include the target ``check-sf-source-header`` in the target sequence.
   118 * This will validate source files present on the build area to contain EPL license. 
   130 * This will validate source files present on the build area not to contain SFL license.
       
   131 * Target could be enabled by setting ``sfvalidate.enabled`` to ``true``.
       
   132 
       
   133 The target ``ido-check-sf-source-header`` could be used to run to validate the source files for EPL license header for IDO/Package level.
       
   134 
       
   135 * Include the target ``ido-check-sf-source-header`` in the IDO target sequence.
       
   136 * This will validate source files present on the build area to contain EPL license by extracting values from ``distribution.policy.S60`` files.
       
   137 * Target could be enabled by setting ``sfvalidate.enabled`` to ``true``.
   119 
   138 
   120 .. index::
   139 .. index::
   121   single: Compatibility Analyser (CA)
   140   single: Compatibility Analyser (CA)
   122 
   141 
   123 Stage: Compatibility Analyser
   142 Stage: Compatibility Analyser
   124 =============================
   143 =============================
   125 
   144 
   126 The Compatibility Analyser is a tool used to compare **binary** header and library files to ensure that the version being checked has not made any changes to the interfaces which may cause the code to not work correctly. Helium supplies a target that calls this Compatibility Analyser. Users who wish to use this tool first need to read the CA user guide found under SW DOcMan at: http://bhlns002.apac.nokia.com/symbian/symbiandevdm.nsf/WebAllByID2/DSX05526-EN/s60_compatibility_analyser_users_guide.doc. 
   145 The Compatibility Analyser is a tool used to compare **binary** header and library files to ensure that the version being checked has not made any changes to the interfaces which may cause the code to not work correctly. Helium supplies a target that calls this Compatibility Analyser. 
       
   146 Users who wish to use this tool first need to read the CA user guide found under: /epoc32/tools/s60rndtools/bctools/doc/S60_Compatibility_Analyser_Users_Guide.doc. 
   127 
   147 
   128 The Compatibility Analyser is supplied as part of SymSEE, there is a wiki page for the tool found at http://s60wiki.nokia.com/S60Wiki/Compatibility_Analyser. As part of the configuration a default BC template file has been provided at Helium\tools\quality\CompatibilityAnalyser\config_template.txt make the necessary changes to this file (as described in the user guide). The supplied example file works with CA versions 2.0.0 and above which is available in SymSEE version 12.1.0 and above. The configurations that will need changing are:
   148 <#if !(ant?keys?seq_contains("sf"))>
       
   149 The Compatibility Analyser is supplied as part of SymSEE, there is a wiki page for the tool found at: http://s60wiki.nokia.com/S60Wiki/Compatibility_Analyser. 
       
   150 </#if>
       
   151 As part of the configuration a default BC template file has been provided at helium/tools/quality/compatibility_analyser/ca.cfg.xml make the necessary changes to this file (as described in the user guide). The supplied example file works with CA versions 2.0.0 and above. 
       
   152 
       
   153 The minimum configurations that will need changing are:
   129  * BASELINE_SDK_DIR
   154  * BASELINE_SDK_DIR
   130  * BASELINE_SDK_S60_VERSION
   155  * BASELINE_SDK_S60_VERSION
   131  * CURRENT_SDK_DIR
   156  * CURRENT_SDK_DIR
   132  * REPORT_FILE_HEADERS
   157  * REPORT_FILE_HEADERS
   133  * REPORT_FILE_LIBRARIES
   158  * REPORT_FILE_LIBRARIES
   134 
   159 
   135 The default configuration is supplied as part of tools\quality\CompatibilityAnalyser\compatibilty.ant.xml where there are a few properties that need to be set (overriding of these is recommended in your own config file):
   160 The default configuration is supplied as part of tools/quality/compatibility_analyser/compatibilty.ant.xml where there are a few properties that need to be set (overriding of these is recommended in your own config file):
   136 
   161 
   137 
   162 
   138 .. csv-table:: Compatibility Analyser Ant properties
   163 .. csv-table:: Compatibility Analyser Ant properties
   139    :header: "Property name", "Edit status", "Description"
   164    :header: "Property name", "Edit status", "Description"
   140    
   165    
   141     ":hlm-p:`ca.enabled`", "[must]", "Enables the bc-check and ca-generate-diamond-summary targets to be executed, when set to true."
   166     ":hlm-p:`ca.enabled`", "[must]", "Enables the bc-check and ca-generate-diamond-summary targets to be executed, when set to true."
   142     ":hlm-p:`bctools.root`", "[must]", "Place where the CheckBC and FilterBC tools are e.g. C:/APPS/carbide/plugins/com.nokia.s60tools.compatibilityanalyser.corecomponents_2.0.0/BCTools"
   167     ":hlm-p:`bc.prep.ca.file`", "[must]", "The name and location of the file that contains all the CA configuration values like, 'BASELINE_SDK_DIR=C:\Symbian\9.2\S60_3rd_FP1_2': an example file can be found at helium/tools/quality/compatibility_analyser/test/ca.cfg.xml "
   143     ":hlm-p:`default.bc.config`", "[must]", "Place where the CheckBC default configuration file is, it is copied from this location to the output folder for use by checkBC.py e.g. helium/tools/quality/compatibility_analyser/ca_config_template.txt"
   168     ":hlm-p:`bc.tools.root`", "[must]", "Place where the CheckBC and FilterBC tools are e.g. /epoc32/tools/s60rndtools/bctools"
   144     ":hlm-p:`bc.config.dir`", "[must]", "The bc_config_template.txt file (default configuration file) will be copied from the folder it is saved in within helium to the location named in this property where it will be used ( in conjunction with the bc.config.file property). e.g. build.log.dir/bc"
   169     ":hlm-p:`bc.build.dir`", "[must]", "The place that all the files created during the running of the CA tool will be placed."
   145     ":hlm-p:`bc.config.file`", "[must]", "The bc_config_template.txt file (default configuration file) will be copied from the folder it is saved in within helium to the location named and named as defined in this property where it will be used. You need to make sure this is not the same name as any other IDO or person using the build area. e.g. bc.config.dir/bc.config"
   170     ":hlm-p:`bc.config.file`", "[must]", "The 'ca.ant.config.file' file (configuration file) will be copied from the folder it is saved in within helium to the location named as defined in this property where it will be used. You need to make sure this is not the same name as any other IDO or person using the build area. e.g. bc.config.dir/bc.config"
   146     ":hlm-p:`bc.check.libraries.enabled`", "[must]", "Enables the Binary Comparison for libraries when set to 'true'."
   171     ":hlm-p:`bc.check.libraries.enabled`", "[must]", "Enables the compatibility analyser for libraries when set to 'true' (default value is 'false')."
   147     ":hlm-p:`lib.param.val`", "[must]", "Defines the parameter that checkBC.py is called with  -la (all libraries checked)  or -ls lib (single library checked) (lib = the name of library to check) or -lm file.name (multiple libraries checked) the file.name is a file that contains the names of the library(ies) to be checked."
   172     ":hlm-p:`bc.lib.param.val`", "[optional]", "Defines the parameter that checkBC.py is called with  -la (all libraries checked) (default value) or -ls lib (single library checked) (lib = the name of library to check) or -lm file.name (multiple libraries checked) the file.name is a file that contains the names of the library(ies) to be checked. If the 'bc.what.log.entry.enabled' property is set this variable must not be set."
   148     ":hlm-p:`bc.check.headers.enabled`", "[must]", "Enables the Binary Comparison for headers when set to 'true'."
   173     ":hlm-p:`bc.check.headers.enabled`", "[must]", "Enables the compatibility analyser for headers when set to 'true' (default value is 'false')."
   149     ":hlm-p:`head.param.val`", "[must]", "Defines the parameter that checkBC.py is called with -ha (all headers checked) or -hs file (single header checked) (file= name of header file to check) or -hm file.name (multiple headers checked) the file.name is a file that contains the names of the header(s) to be checked"
   174     ":hlm-p:`bc.head.param.val`", "[optional]", "Defines the parameter that checkBC.py is called with -ha (all headers checked) (default value) or -hs file (single header checked) (file= name of header file to check) or -hm file.name (multiple headers checked) the file.name is a file that contains the names of the header(s) to be checked. If the 'bc.what.log.entry.enabled' property is set this variable must not be set."
   150     ":hlm-p:`bc.check.report.id`", "[must]", "Adds this to the CA output file name to give it a unique name."
   175     ":hlm-p:`bc.check.report.id`", "[must]", "Adds this to the CA output file name to give it a unique name."
   151     ":hlm-p:`ido.ca.html.output.dir`", "[must]", "Defines the location of CA output and the input for the diamonds creation target. e.g. build.log.dir/build.id_ca"
   176     ":hlm-p:`bc.log.file.to.scan`", "[must]", "This must be set if the 'bc.what.log.entry.enabled' property is set otherwise it is not required. It is the name of the log file that was created during the build that will be scanned in order to determine which headers or library files will be compared."
       
   177     ":hlm-p:`bc.what.log.entry.enabled`", "[optional]", "If set to true the 'whatlog' will be scanned for the list of header and/or library files that will be compared. The default is 'false'"
       
   178     ":hlm-p:`bc.fail.on.error`", "[optional]", "If set to true the build will fail if there is an error with the binary compatibility analyser (including the conversion to diamonds XML files). If set to false it will not fail the build if there is a problem with CA."
   152 
   179 
   153 and then run the target:
   180 and then run the target:
   154 
   181 
   155 ::
   182 ::
   156 
   183 
   157     hlm -Dbuild.number=nnn -Dbuild.drive=n: bc_check
   184     hlm -Dbuild.number=nnn -Dbuild.drive=n: bc_check
   158 
   185 
   159 where nnn is the build number and n: is the substed drive letter.
   186 where nnn is the build number and n: is the substed drive letter.
   160 
   187 
   161 The results of the output from the analysis are placed in the \output\logs\BC folder under the substed build drive and are called libraries_report_?.xml and headers_report_?.xml, the reports can be viewed in Web-formatted layout, based on the BBCResults.xsl stylesheet which is copied to the \output\logs\BC folder on the build drive.
   188 The results of the output from the analysis are placed in the /output/logs/bc folder under the substed build drive and are called 'libraries_report_{bc.check.report.id}' and 'headers_report_{bc.check.report.id}', the reports can be viewed in Web-formatted layout, based on the BBCResults.xsl stylesheet which is copied to the /output/logs/bc folder on the build drive.
   162 
   189 
   163 
   190 By running the target 'ca-generate-diamond-summary' the output is summarised and passed to diamonds where is is displayed in the 'Quality Aspects' section.
   164 .. include:: stage_final.rst.inc
       
   165