===================
Helium Feature List
===================
.. index::
module: Helium Feature List
.. contents::
.. index::
single: feature - Framework
Framework
=========
.. index::
single: feature - Logging
Logging
-------
* Individual log files created for most build stages.
* A summary log file is created from individual log files.
* Shows categorized messages divided into errors, significant warnings and warnings.
.. index::
single: feature - Signalling
Signaling
----------
* Build engineer can be signaled via email and SMS at many key points during the build.
* The triggering and choice of when to signal can be configured.
.. index::
single: feature - Validation
Validation
----------
* Validate an Ant configuration against the data model.
.. index::
single: feature - Password Handling
Password handling
-----------------
* Query passwords from a .netrc file or request via a dialog.
.. index::
single: feature - Diamonds logging
Diamonds logging
----------------
* Can upload build id, start and end time, creator, host name, release label.
* Can upload stage start and end time based on the configuration of stages
* Can upload build tools name and its version information.
* Can upload release location.
* Can parse multiple scan log file.
* Can upload build faults related information.
* Can upload BOM contents.
* Can upload "number of object files" and "number of generated files".
* Can upload build system and number of processors.
* Can upload distribution policy file related errors like missing, invalid encoding and error type A, B, C.
* Can upload List of Illegal APIs names if disable.analysis.tool is not set.
* Can upload custom build tags.
* Logging can be skipped if desired.
.. index::
single: feature - Documentation
Documentation
-------------
* Quick start, manual, tutorials, How-To's and development guidelines in HTML format.
* Helium API documents the Ant targets and properties.
* Documentation for Python and Java APIs and custom Ant tasks.
.. index::
single: feature - build stages
Build stages
============
.. index::
single: feature - startup
Startup
-------
* A number of build configurations can be run on several machines from a single work area.
* A subcon release can be bootstrapped to download required libraries for building ROMs.
.. index::
single: feature Synergy operations
Synergy operations
------------------
* Update a Synergy work area.
* Create snapshots.
* Checkout projects and update with folders and tasks.
* Build management functions.
.. index::
single: feature Mercurial operations
Mercurial operations
--------------------
* Set or show the current branch name
* Checkout a repository
* Export the header and diffs for one or more changesets
* Display information about an item
* Create a new repository in the given directory
* Show revision history of entire repository or files
* Pull changes from the specified source
* Remove the specified files on the next commit
* Add one or more tags for the current or given revision
* List repository tags
* Update working directory
.. index::
single: feature - Preparation
Preparation
-----------
* Checking the build machine environment for required tools.
* Build drive creation through subst'ing.
* Preparation of the build area.
* Copy operations, with content filtering.
* Unzip operations, with content filtering.
* Extraction of ICDs/ICFs in order.
* Checks content is available before starting preparation steps.
* Support for Dragonfly workspace creation.
* BOM and BOM delta creation.
* HTML and plain text output files.
* Unarchive a release from network.
.. index::
single: feature - compilation
Compilation
-----------
* Compilation using System Definition XML format.
* The System Definition files are pre-processed to insert Ant properties
* Different build systems can be selected.
* Symbian EBS.
* Electric Cloud (EC) with history file management.
* Symbian Build System (Raptor).
* A clean target allows a clean configuration to be built.
* cMaker support (clean, export, what).
.. index::
single: feature - SIS files
SIS files
---------
* SIS files can be built.
.. index::
single: feature - Quality Assurance
Quality assurance
-----------------
* Policy file validation.
* Build duplicates detection.
* Internal exports detection.
* Codescanner task.
.. index::
single: feature - Publishing
Publishing
----------
* Create zips of the EE build area.
* Content can be split across zips depending on number of files and file sizes.
* In release metadata it holds md5checksum value and size of all the zip files.
* Zipping using EBS / EC based on the build system.
* Create delta zips for each localised region.
* Publish at several points during the build to a network directory.
* Zip content selected based on distribution.policy file content.
* Zip content selected based on component exports.
.. index::
single: feature - Localisation
Localisation
------------
* S60 3.2.x support
* Support for S60 localisation tool.
* Support for localise resources tool which localises using in EBS / EC based on the build system.
* Possibility to provide a different set of configuration for each region.
* Locales_xx.iby generation that support override directive from SP.
* Cenrep generation for variants (languagepack and customer).
* Languagepack automation (Should be moved to SP/iMaker in the future).
* S60 5.0.x support
* DTD localisation.
* Regional variation.
.. index::
single: feature - iMaker image creation
iMaker image creation
---------------------
* Creates EE images.
* Image creation using EBS / EC based on the build system
* Language pack creation/automation.
* Customer variant creation.
* Creates SW version string for the images and override the one in ROM. (through Helium/iMaker feature).
* Firmware ID generation and automatic inclusion (through iMaker feature).
* Debug image creation (through Helium/iMaker feature).
* Core image creation.
* Auto-detection of variant folder.
* Variation from variant folder (no export/clean-export to epoc32).
* Automatic region switching.
* (Future feature) Support for languagepack automation (through iMaker, still RD feature at the moment).
.. index::
single: feature - Release Notes Creation
Release notes creation
----------------------
* Modifies a RTF template with values from build.
* Adds table of errors and warnings.
* Generates list of baselines, projects and tasks used.
.. index::
single: feature - Delta Releasing
Delta releasing
---------------
* Creates a MD5 list of files in a build area.
* Compares a set of these files and zips new/ changed.
* Generates a XML file for SymDEC of files deleted.
.. index::
single: feature - Testing
Testing
-------
ATS test package generation for API (unit and/or Module) and UI test
============== ======== =========== === ======= ========= ===========
Test Framework PKG File Dir Parsing CTC Tracing sis files Test Assets
============== ======== =========== === ======= ========= ===========
**STIF** - - - - -
**TEF** -
**RTEST** -
**MTF** -
**EUnit** - - - -
**ASTE** -
============== ======== =========== === ======= ========= ===========
- Supported
.. index::
single: feature - IDO builds
IDO builds
----------
* Codescanner integration for IDO.
* Build area preparation for IDO (ADO base copying).
Other features
==============
.. index::
single: feature - Interation
Integration
-----------
* Overlays can be validated to check the need for merging.
* Automated merge task creation.
.. index::
single: feature - Miscallaneous
Miscellaneous
-------------
* Clean the build areas root directory of old builds based on a dialog selection.
* Print a list of target dependencies.
* The source code can be scanned for words that are classed as 'bad words' i.e. words that should not be used within the code e.g. Nokia product names, competitor names and competitor product names, these ''bad words'' are counted and displayed at the end of the build process
.. index::
single: feature - Supported SCM tools
Supported SCM tools
-------------------
* Synergy
* Mercurial
.. index::
single: feature - Nokia Build stages
Nokia Build stages
==================
.. index::
single: feature - FOTA update packages creation
FOTA update packages creation
-----------------------------
* Generation of FOTA packages between 2 published releases.
* Generation of FOTA toggle packages for TRUE test.
* Support of MakeUPCT: generation of _fota.cnf and .fota.conf files.
.. index::
single: feature - Data packaging
Data packaging
--------------
* Generates VPL and DCP and signature files.
* Compresses images.
* Flashes phone to generate SPR.
* Creates input for gMES and NSU.
* Installer creation using InstallShield.
.. index::
single: feature - UDA creation
UDA and Mass Memory Creation
----------------------------
* UDA creation using iMaker
* Mass Memory using ImageTool
.. index::
single: feature - RnD SDK creation
RnD SDK creation
----------------
* RndSDK creation tool is used to create an SDK using S60 released Rnd environment.
* It generates the eclipse based html-documentation for the APIs present in the Rnd Environment.
* The APIs in the S60 Rnd environment can be filtered, based on the required API categories Public, Domain etc.
* The output is a zip file containing the Rnd SDK environment, along with the documentation of the APIs present in it.
* The developer can extract and use the RndSDK for further development.
.. index::
single: feature - API Analysis
API analysis
------------
* API Analysis takes input from apidescr.xml, generated by the Analysis tool from S60 build environment and generates count of SDK, Domain and Internal APIs for diamonds logging.
* The analysis can be run as part of the RnD SDK or independently.
* API tests are supported by `Testing`_
.. index::
single: feature - Releasing
Releasing
---------
* Upload content to network.
* Release to Grace.