configurationengine/doc/cli/rootflatten.rst
author m2lahtel
Tue, 10 Aug 2010 14:29:28 +0300
changeset 3 e7e0ae78773e
permissions -rw-r--r--
ConE 1.2.11 release

ConE rootflatten action
=======================

The *rootflatten* action is intended to be a temporary solution for enabling 
Configuration roots anywhere inside the project structure. The current 
Configuration project specification (0.4) is defined to allow configuration roots
only in the project root folder, so the root flatten will convert a file located
in any subfolder of the project to root file under the project folder that follows 
the Configuration project specification. 

The configuration roots in the subfolders can use absolute includes to include other 
configuration roots and / or layers.


Examples
--------

**Create a flat configuration from a Country configuration**

The configuration root could for example exist in family/product/country/`product_Euro2_ALPS_02_customisation_root.confml <../_static/country/product_Euro1_ALPS_01_customisation_root.confml>`_.
So this configuration root includes another configuration and two extra layers. The script trusts that the normal SD naming convention is in use, where all layer root confml files 
are just name root.confml (to know what is a configuration root and what is a layer). 

Commands::

    > cd configproject_root
    > cone rootflatten -c family\product\country\product_Euro2_ALPS_02_customisation_root.confml
    Running action rootflatten
    Processing configurations ['family\\product\\country\\product_Euro1_ALPS_01_customisation_root.confml']
    opened family\product\country\product_Euro1_ALPS_01_customisation_root.confml for flattening
    Creating a new configuration root 'product_Euro1_ALPS_01_customisation_root.confml' for flattening

After the conversion there will be a file with the same name in root where includes are flattened and meta data is merged. 
 * See `product_Euro2_ALPS_02_customisation_root.confml <../_static/product_Euro1_ALPS_01_customisation_root.confml>`_


Options list
------------
Options:
  -h, --help            show this help message and exit
  -c CONFIG, --configuration=CONFIG
                        Defines the name of the configuration for the action,
                        can be specified multiple times to include multiple
                        configurations.
  --config-wildcard=WILDCARD
                        Wildcard pattern for including configurations, e.g.
                        product_langpack_*_root.confml
  --config-regex=REGEX  Regular expression for including configurations, e.g.
                        product_langpack_\d{2}_root.confml
  -p STORAGE, --project=STORAGE
                        defines the location of current project. Default is
                        the current working directory.