buildframework/helium/doc/src/manual/introduction.rst
author andy simpson <andrews@symbian.org>
Fri, 30 Jul 2010 15:14:33 +0100
changeset 652 311511800c67
parent 645 b8d81fa19e7d
permissions -rw-r--r--
Add export for s60ibymacros.pm (re-applies missing part of fix for Bug 2901
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
    Name        : running.rst
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     3
    Part of     : Helium 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     4
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     5
    Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     6
    All rights reserved.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     7
    This component and the accompanying materials are made available
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     8
    under the terms of the License "Eclipse Public License v1.0"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     9
    which accompanies this distribution, and is available
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    10
    at the URL "http://www.eclipse.org/legal/epl-v10.html".
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    11
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    12
    Initial Contributors:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    13
    Nokia Corporation - initial contribution.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    14
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    15
    Contributors:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    16
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    17
    Description:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    18
    
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
Helium Introduction
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
.. index::
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    26
  module:  Introduction
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    27
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    28
.. contents::
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    29
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    30
.. index::
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    31
  single:  Introduction
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    32
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    33
Introduction
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    34
=============
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    35
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    36
This is the manual for Helium, an Ant-based build framework used to build Symbian Devices products. This documentation describes how to configure and use the Helium build framework from the point of view of an IDO integrator, a build manager, a helium contributor and subcon user.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    37
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    38
Helium contains all you need in order to create a work area, a build area, perform the compilation, link, create localised variants, submit build information to Diamonds (used for statistical analysis), create Data Packages, zip the files to create a release and much more. The aim is for helium to be used by every build and release team working on Symbian products within Nokia. It is also used by some Subcons as part of the tool set given to them to allow subcons to build parts
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    39
of the S60 code.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    40
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    41
It is recommended to read the Ant_ documentation before learning about Helium. An understanding of XML_ is also needed as Ant_ is configured using an XML_ format.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    42
645
b8d81fa19e7d helium_12.0.0-63b64366f9cf
wbernard
parents: 587
diff changeset
    43
.. _Ant: http://ant.apache.org/
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    44
.. _XML: http://www.w3.org/XML/
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    45
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    46
.. index::
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    47
  single:  Vision
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    48
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    49
Vision
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    50
=========
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    51
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    52
The Helium vision is to fulfill the following demands:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    53
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    54
 * A "common unified toolset".
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    55
 * Easy to use and configure for all different builds.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    56
   
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    57
   * Fully automated builds.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    58
   * Verbose and clear messages.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    59
 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    60
 * Light.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    61
 * Simple things should be easy to do, complex things should be possible.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    62
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    63
.. index::
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    64
  single:  Background
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    65
  
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    66
Background
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    67
============
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    68
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    69
Helium was developed from a need to reduce "reinventing the wheel" for build tools. It was based on the mc_tools project which had the same goal within the former MC organization.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    70
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    71
.. index::
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    72
  single:  Why Ant?
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    73
  
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    74
Why Ant?
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    75
==========
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    76
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    77
Helium is fundamentally based on Apache Ant_. Why was Ant_ chosen when there were many other similar frameworks inside Nokia,
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    78
such as sbt, isis_build and TrombiBuild. The main reason is that while the other toolkits were developed inside Nokia,
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    79
Ant_ is an open source tool from Apache, based on relatively simple XML_ files that define the build steps. 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    80
Through leveraging the power of open source Helium has integrated a large amount of functionality that would have taken
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    81
much longer to develop in-house, as well as benefit from existing, high-quality documentation.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    82