This is an automated email from the ASF dual-hosted git repository.

cziegeler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git


The following commit(s) were added to refs/heads/master by this push:
     new 6d2bd29  Update readme with more details about feature and bundles
6d2bd29 is described below

commit 6d2bd29aefb2ea770652c1e3343039d83fd6b9db
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Thu Jan 18 11:24:20 2018 +0100

    Update readme with more details about feature and bundles
---
 featuremodel/readme.md | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/featuremodel/readme.md b/featuremodel/readme.md
index 38780e1..41d9cd5 100644
--- a/featuremodel/readme.md
+++ b/featuremodel/readme.md
@@ -60,6 +60,8 @@ A feature has a unique id. Maven coordinates 
(https://maven.apache.org/pom.html#
 
 While group id, artifact id, version and the optional classifier can be freely 
choosen for a feature, the type/packaging is defined as "osgifeature".
 
+TBD: Is "osgifeature" a good type?
+
 # Maven Coordinates
 
 Maven coordinates are used to define the feature id and to refer to artifacts 
contained in the feature, e.g. bundles, content packages or other features. 
There are two supported ways to write down such a coordinate:
@@ -75,6 +77,27 @@ In order to avoid a concept like "Require-Bundle" a feature 
does not explicitly
 
 Once a feature is processed by tooling, the tooling might create a full list 
of requirements and capabilities and add this information in a special section 
to the final feature. This information can be used by tooling to validate an 
instance (see below) and avoids rescanning the binary artifacts. However this 
"cached" information is optional and tooling must work without it (which means 
it needs access to the binaries in that case). TBD the name and format of this 
information.
 
+# Feature Header
+
+The JSON feature object has the following properties:
+
+* *id* : The feature id as described above. Defining the type is optional, if 
it is not defined, it defaults to "osgifeature".
+* *title* : Optional title for the feature.
+* *description* : Optional long text description of the feature.
+* *vendor* : Optional vendor information.
+* *license* : Optional license information
+
+# Bundles
+
+The JSON feature object might contain a *bundles* property holding a JSON 
array with the bundles contained in this feature. The values in this array can 
either be a string holding the coordinates for the bundle or a JSON object if 
additional properties need to be specified. The JSON object supports the 
following properties:
+
+* *id* : The id of the bundle (maven coordinates). This property is required.
+* *start-order* : The value is an integer greater or equals to 1. This 
specifies the start order of the bundle. The start-order specifies the start 
order of the bundle in relation to other bundles in the feature. Bundles are 
started in ascending order and stopped in descending order according to the 
start-order directive values. Bundles with the same start-order value may be 
started and stopped in any order in relation to each other. There is no default 
value for start-order. If the start order
+is not specified then the bundle is started in any order.
+* *resolution* : The value is either "mandatory" or "optional". A mandatory 
bundle needs to be satisfied; an optional bundle does not need to be satisfied. 
The default value is mandatory.
+
+TBD: The implementation currently uses the map based configuration. It needs 
to change.
+
 # Includes
 
 Includes allow an aggregation of features and a modification of the included 
feature: each entity listed in the included feature can be removed, e.g a 
configuration or a bundle. The list of includes must not contain duplicates 
(not comparing the version of the includes). If there are duplicates, the 
feature is invalid.

-- 
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].

Reply via email to