buildframework/helium/doc/src/manual/stage_releasing.rst.inc.ftl
author wbernard
Sun, 10 Oct 2010 15:22:15 +0300
changeset 645 b8d81fa19e7d
parent 588 c7c26511138f
permissions -rw-r--r--
helium_12.0.0-63b64366f9cf
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        : stage_releasing.rst.inc.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
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    23
.. index::
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    24
  single: Stage - Releasing
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    25
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    26
Stage: Releasing
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    27
================
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    28
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    29
A published build can be made into a release by running the command::
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    30
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    31
    hlm release
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    32
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    33
from the root of the directory on the network where the build is located. This will create a matching release directory and copy the appropriate files there. The selected files are defined in ``release.ant.xml``.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    34
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    35
.. index::
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    36
  single: Stage - Delta Releasing
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    37
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    38
Stage: Delta releasing
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    39
======================
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    40
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    41
Introduction:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    42
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    43
A delta release is a zip file with only the changed and new files between two build areas. A XML file is also generated that contains the list of files removed between the two build areas. This XML file is read by SymDEC and deletes these files.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    44
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    45
Prequisities for automated use:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    46
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    47
- Publish is run after this stage
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    48
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    49
Each build should run the :hlm-t:`delta-zip` target which creates a delta from a previous build to the current one. (This target looks at previous builds in the publish dir for the md5 file and chooses the most recent one).
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    50
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    51
Optionally: A previous build's MD5 can be passed as an argument, this might be the last bi-weekly release or used when builds are not published (the last build would have run the :hlm-t:`delta-zip` target)::
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    52
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    53
  hlm delta-zip -Dold.md5.file=e:\wk01_build\output\build_area\delta_zip\0.0742.3.X.15.md5 -Dold.md5.file.present=y
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    54
  
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    55
Exclude directories from the zip::
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    56
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    57
  <property name="delta.exclude.commasep" value="epoc32_save.zip,output/**/*,delta_zips/**/*,temp/**/*"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    58
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    59
Output::
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    60
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    61
  Z:\output\build_area\delta_zip
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    62
   + delta_zip.zip
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    63
   + specialInstructions.xml
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    64
   + release_metadata.xml
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    65
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    66
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    67
.. index::
588
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    68
  single: Stage - Synergy Releasing
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    69
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    70
Stage: Synergy releasing
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    71
========================
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    72
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    73
This stage consists in creating automatically a baseline using the prep-work-area configuration. You first need to add the 
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    74
``releasable`` property set to true and what release to use using the ``baseline.release`` property.
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    75
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    76
Here is an example of configuration:
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    77
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    78
.. code-block:: xml
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    79
   
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    80
   <build>
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    81
      <config name="myproject-config" abstract="true">
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    82
         <set name="database" value="database" />
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    83
         <set name="dir" value="C:\prep" />
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    84
         <set name="sync" value="true" />
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    85
         <set name="replace.subprojects" value="true" />
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    86
         <set name="use.reconfigure.template" value="true" />
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    87
         <set name="purpose" value="Integration Testing" />
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    88
         <set name="release" value="MyProject/next" />
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    89
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    90
         <config name="MyProject-92_201018" type="checkout">
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    91
            <set name="to.version" value="next" />
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    92
            <set name="releasable" value="true" />      
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    93
            <set name="baseline.release" value="MyProject/92_201019" />
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    94
         </config>
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    95
        
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    96
      </config>
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    97
   </build> 
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    98
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    99
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
   100
You can then use the :hlm-t:`release-work-area` target (see Helium API) to at the end of your release cycle baseline and release your content automatically.
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
   101
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
   102
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
   103
.. index::
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   104
  single: Stage - Release Notes
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   105
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   106
Stage: Release notes
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   107
====================
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   108
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   109
Introduction:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   110
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   111
This generates a release note by modifying a template (that you can edit yourself) with values from the build and Synergy.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   112
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   113
Usage::
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   114
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   115
  hlm release-notes -Dbuild.number=1
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   116
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   117
Define in the build configuration the path to the release notes configuration::
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   118
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   119
  e.g. <property name="relnotes.config.dir" value="${r'$'}{helium.dir}/../config/${r'$'}{product.family}_config/${r'$'}{build.name}/relnotes"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   120
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   121
The contents of "config_template" in ``helium/extensions/nokia/config/relnotes`` should be copied to the appropriate directory, e.g. ``config/config/relnotes``.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   122
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   123
Contents of template:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   124
 * ``logo.png`` : the logo of your product
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   125
 * ``template.rtf`` : the document that is modified to form the output
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   126
 * ``relnotes_properties.ant.xml`` : the names of the tokens in template.rtf that will be replaced
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   127
                  Many of the values are commented out as they change rapidly and will need to be added to the output RTF file manually.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   128
 * ``relnotes.properties`` : the values of the tokens
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   129
                         New values can be added e.g. token1=1.0 and referenced in relnotes.xml by ${r'$'}{token1}
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   130
                         If you want a link to a file start with .\\filename or .\\folder\\filename or \\\\share1\\file
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   131
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   132
Project names can be looked up from the BOM and are set into properties, see ``config_template/relnotes/relnotes_properties.ant.xml`` for example.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   133
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   134
If you want to add a new value to the output that is dynamic then you should:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   135
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   136
1) Open your ``template.rtf`` in Word and add some text that is unique eg. NewValueHere
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   137
2) Open your ``template.rtf`` in a plain text editor such as UltraEdit and search for your value. You may find it is split over two lines or contains RTF markup language mixed into the value e.g. New\\pardValueHere
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   138
   If this is the case reformat so you get the value all on one line and remove extra markup.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   139
3) Check your template still works in Word.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   140
4) Add a new property to ``relnotes.properties`` or use existing properties from Helium or your build config files.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   141
5) Add a new replace statement to ``relnotes_properties.ant.xml`` that references the property in step 4.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   142
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   143
Output::
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   144
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   145
  Z:\output\relnotes