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

davidb 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 859d329  Proposed feature model format.
859d329 is described below

commit 859d329daa1856330334d32663d19935f9390059
Author: David Bosschaert <[email protected]>
AuthorDate: Wed Mar 14 11:27:38 2018 +0100

    Proposed feature model format.
---
 featuremodel/design/feature-model.json | 105 +++++++++++++++++++++++++++++++++
 1 file changed, 105 insertions(+)

diff --git a/featuremodel/design/feature-model.json 
b/featuremodel/design/feature-model.json
new file mode 100644
index 0000000..d0fd166
--- /dev/null
+++ b/featuremodel/design/feature-model.json
@@ -0,0 +1,105 @@
+{
+       "#": "A key that starts with a hash is a comment",
+       
+       "id": "org.apache.sling:my.app:feature:optional:1.0",
+       
+       "# variables used in includes, requirements, capabilities and bundles 
sections":
+       "# are substituted at build time. Configuration and framework 
properties at launch time."
+       "variables": {
+           "cfgvar": "somedefault",
+           "xyz-ver": "1.2.3",
+           
+           "#": "When converting to provisioning model, if you need a special 
name",
+           "provisioning.model.name": ":boot"
+       },
+       
+       "includes": [
+               {
+                       "id": "org.apache.sling:sling:9",
+                       "removals": {
+                               "configurations": [],
+                               "bundles": [],
+                               "framework-properties": []
+                       }
+               }
+       ],
+       "requirements": [
+               {
+                       "namespace": "osgi.contract",
+                       "directives": {
+                               "filter": 
"(&(osgi.contract=JavaServlet)(version=3.1))"
+                       }
+               }
+       ],
+       "capabilities": [
+               {
+                       "namespace": "osgi.implementation",
+                       "attributes": {
+                               "osgi.implementation": "osgi.http",
+                               "version:Version": "1.1"
+                       },
+                       "directives": {
+                               "uses": 
"javax.servlet,javax.servlet.http,org.osgi.service.http.context,org.osgi.service.http.whiteboard"
+                       }
+               },
+               {
+                       "namespace": "osgi.service",
+                       "attributes": {
+                               "objectClass:List<String>": 
"org.osgi.service.http.runtime.HttpServiceRuntime"
+                       },
+                       "directives": {
+                               "uses": 
"org.osgi.service.http.runtime,org.osgi.service.http.runtime.dto"
+                       }
+               }
+       ],
+       
+       "framework-properties": {
+               "foo": 1,
+               "org.osgi.framework.storage": "${tempdir}",
+               "org.apache.felix.scr.directory": "launchpad/scr"
+       },
+       
+       "bundles": [
+               {
+                       "id": "org.apache.sling:security-server:2.2.0",
+                       "hash": "4632463464363646436",
+               
+                   "#": "This is the relative start order inside the feature", 
+                       "start-order": 5
+               },
+               {
+                   "id": "org.apache.sling:application-bundle:2.0.0",
+                   "start-order": 10
+               },
+               {
+                   "id": "org.apache.sling:another-bundle:2.1.0",
+                   "#": "OSGi start level is also supported",
+                   "start-level": 20,
+                   "run-modes": "oak-tar",
+                   
+                   "configurations": {
+                       "#": "This configuration only gets applied when this 
bundle is resolved",
+                       "org.apache.sling.somepid": {
+                           "dbuser": "${dbuser}",
+                           "dbpass": "${dbpass}"
+                       }
+                   }
+               },
+               "org.apache.sling:foo-xyz:${xyz-ver}"
+       ],
+       
+       "configurations": {
+               "my.pid": {
+                   "foo": 5,
+                   "bar": "${cfgvar}",
+               
+                   "# The tempdir variable is not specified at the variables 
section.":
+                   "# It needs to be provided at launch, otherwise the launch 
will stop.",
+                   "tempdir": "${tempdir}",
+               
+                   "number:Integer": 7
+       },
+       "my.factory.pid~name": {
+          "a.value":"yeah"
+    }
+}

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

Reply via email to