Feature Model Example
diff --git a/feature-model/example/Example.md b/feature-model/example/Example.md
new file mode 100644
index 0000000..e460bce
--- /dev/null
+++ b/feature-model/example/Example.md
@@ -0,0 +1,4 @@
+The example are currently broken - the json needs to be updated to the latest format (change from start level to start order)
+
+java -jar ../feature-applicationbuilder/target/org.apache.sling.feature.applicationbuilder-0.0.1-SNAPSHOT.jar -d sling -u ~/.m2/repository -o sling.json
+java -jar ../feature-launcher/target/org.apache.sling.feature.launcher-0.0.1-SNAPSHOT.jar -a sling.json -I -v
diff --git a/feature-model/example/sling/boot.json b/feature-model/example/sling/boot.json
new file mode 100644
index 0000000..5778cd3
--- /dev/null
+++ b/feature-model/example/sling/boot.json
@@ -0,0 +1,23 @@
+{
+    "id": "generated/boot/1.0.0",
+    "bundles": [
+        "org.apache.aries/org.apache.aries.util/1.1.3",
+        "org.apache.felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT",
+        "org.apache.felix/org.apache.felix.eventadmin/1.4.10",
+        "org.apache.geronimo.specs/geronimo-atinject_1.0_spec/1.0",
+        "org.apache.sling/org.apache.sling.commons.log/5.0.2",
+        "org.apache.sling/org.apache.sling.commons.logservice/1.0.6",
+        "org.apache.sling/org.apache.sling.fragment.transaction/1.0.0",
+        "org.apache.sling/org.apache.sling.fragment.ws/1.0.2",
+        "org.apache.sling/org.apache.sling.fragment.xml/1.0.2",
+        "org.apache.sling/org.apache.sling.installer.core/3.8.10",
+        "org.apache.sling/org.apache.sling.installer.factory.configuration/1.1.2",
+        "org.apache.sling/org.apache.sling.installer.provider.file/1.1.0",
+        "org.apache.sling/org.apache.sling.javax.activation/0.1.0",
+        "org.apache.sling/org.apache.sling.launchpad.installer/1.2.2",
+        "org.apache.sling/org.apache.sling.settings/1.3.8",
+        "org.slf4j/jcl-over-slf4j/1.7.25",
+        "org.slf4j/log4j-over-slf4j/1.7.25",
+        "org.slf4j/slf4j-api/1.7.25"
+    ]
+}
diff --git a/feature-model/example/sling/composum-console.json b/feature-model/example/sling/composum-console.json
new file mode 100644
index 0000000..daf7c36
--- /dev/null
+++ b/feature-model/example/sling/composum-console.json
@@ -0,0 +1,12 @@
+{
+    "id": "generated/composum-console/1.0.0",
+    "bundles": [
+        "com.composum.sling.core/composum-sling-core-commons/1.8.2",
+        "com.composum.sling.core/composum-sling-core-config/1.8.2",
+        "com.composum.sling.core/composum-sling-core-console/1.8.2",
+        "com.composum.sling.core/composum-sling-core-jslibs/1.8.2",
+        "com.composum.sling.core/composum-sling-package-manager/1.8.2",
+        "com.composum.sling.core/composum-sling-user-management/1.8.2",
+        "org.apache.jackrabbit.vault/org.apache.jackrabbit.vault/3.1.30"
+    ]
+}
diff --git a/feature-model/example/sling/launchpad.json b/feature-model/example/sling/launchpad.json
new file mode 100644
index 0000000..5d467b5
--- /dev/null
+++ b/feature-model/example/sling/launchpad.json
@@ -0,0 +1,8 @@
+{
+    "id": "generated/launchpad/1.0.0",
+    "framework-properties": {
+        "localIndexDir": "${sling.home}/repository/index",
+        "repository.home": "${sling.home}/repository",
+        "sling.run.mode.install.options": "oak_tar,oak_mongo"
+    }
+}
diff --git a/feature-model/example/sling/models-jacksonexporter.json b/feature-model/example/sling/models-jacksonexporter.json
new file mode 100644
index 0000000..9e31d27
--- /dev/null
+++ b/feature-model/example/sling/models-jacksonexporter.json
@@ -0,0 +1,9 @@
+{
+    "id": "generated/models-jacksonexporter/1.0.0",
+    "bundles": [
+        "com.fasterxml.jackson.core/jackson-annotations/2.8.7",
+        "com.fasterxml.jackson.core/jackson-core/2.8.7",
+        "com.fasterxml.jackson.core/jackson-databind/2.8.7",
+        "org.apache.sling/org.apache.sling.models.jacksonexporter/1.0.6"
+    ]
+}
diff --git a/feature-model/example/sling/oak.json b/feature-model/example/sling/oak.json
new file mode 100644
index 0000000..9a65d86
--- /dev/null
+++ b/feature-model/example/sling/oak.json
@@ -0,0 +1,83 @@
+{
+    "id": "generated/oak/1.0.0",
+    "bundles": [
+        {
+            "id": "org.apache.felix/org.apache.felix.jaas/1.0.2",
+            "start-order" : 10
+        },
+        {
+            "id": "org.apache.jackrabbit/oak-blob/1.6.4",
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.jackrabbit/oak-commons/1.6.4",
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.jackrabbit/oak-core/1.6.4",
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.jackrabbit/oak-jcr/1.6.4", 
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.jackrabbit/oak-lucene/1.6.4",
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.jackrabbit/oak-segment-tar/1.6.4",
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.jcr.oak.server/1.1.4",
+            "start-order" : 16
+        }
+    ],
+    "configurations": {
+        "org.apache.felix.jaas.ConfigurationSpi": {
+            "jaas.defaultRealmName": "jackrabbit.oak",
+            "jaas.configProviderName": "FelixJaasProvider"
+        },
+        "org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl": {
+            "org.apache.jackrabbit.oak.authentication.configSpiName": "FelixJaasProvider"
+        },
+        "org.apache.jackrabbit.oak.security.user.RandomAuthorizableNodeName": {
+            "length:Integer": "21"
+        },
+        "org.apache.jackrabbit.oak.security.user.UserConfigurationImpl": {
+            "groupsPath": "/home/groups",
+            "defaultDepth": "1",
+            "importBehavior": "besteffort",
+            "usersPath": "/home/users"
+        },
+        "org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider": {
+            "userPrivilegeNames": [
+                "jcr:all"
+            ],
+            "enabledActions": [
+                "org.apache.jackrabbit.oak.spi.security.user.action.AccessControlAction"
+            ],
+            "groupPrivilegeNames": [
+                "jcr:read"
+            ]
+        },
+        "org.apache.felix.jaas.Configuration.factory~GuestLoginModule": {
+            "jaas.controlFlag": "optional",
+            "jaas.classname": "org.apache.jackrabbit.oak.spi.security.authentication.GuestLoginModule",
+            "jaas.ranking:Integer": "300"
+        },
+        "org.apache.felix.jaas.Configuration.factory~LoginModuleImpl": {
+            "jaas.controlFlag": "required",
+            "jaas.classname": "org.apache.jackrabbit.oak.security.authentication.user.LoginModuleImpl"
+        },
+        "org.apache.felix.jaas.Configuration.factory~TokenLoginModule": {
+            "jaas.controlFlag": "sufficient",
+            "jaas.classname": "org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule",
+            "jaas.ranking:Integer": "200"
+        },
+        "org.apache.jackrabbit.oak.segment.SegmentNodeStoreService": {
+            "name": "Default NodeStore"
+        }
+    }
+}
diff --git a/feature-model/example/sling/repoinit.json b/feature-model/example/sling/repoinit.json
new file mode 100644
index 0000000..b958e18
--- /dev/null
+++ b/feature-model/example/sling/repoinit.json
@@ -0,0 +1,9 @@
+{
+    "id": "generated/repoinit/1.0.0",
+    "bundles": [
+        "org.apache.sling/org.apache.sling.jcr.repoinit/1.1.5-SNAPSHOT",
+        "org.apache.sling/org.apache.sling.provisioning.model/1.8.2",
+        "org.apache.sling/org.apache.sling.repoinit.parser/1.1.1-SNAPSHOT"
+    ],
+    "repoinit:TEXT|false": "# general\ncreate path (sling:OrderedFolder) /content\nset ACL for everyone\nallow   jcr:read\ton /\nend\n\n# sling-mapping\ncreate service user sling-mapping\n\nset ACL for sling-mapping\nallow   jcr:read    on /\nend\n\n# sling-readall\ncreate service user sling-readall\n\nset ACL for sling-readall\nallow   jcr:read    on /\nend\n\n# sling-xss\ncreate service user sling-xss\n\ncreate path (sling:Folder) /libs/sling/xss\ncreate path (sling:Folder) /apps/sling/xss\n\nset ACL for sling-xss\ndeny    jcr:all     on /\nallow   jcr:read    on /libs/sling/xss,/apps/sling/xss\nend\n\n# sling-i18n\ncreate service user sling-i18n\n\nset ACL for sling-i18n\nallow   jcr:read    on /\nend\n\n# sling-jcr-install\ncreate service user sling-jcr-install\n\n# used for config OSGi writeback\ncreate path (sling:Folder) /apps/sling/install\n\nset ACL for sling-jcr-install\nallow\tjcr:read\ton\t/\nallow\trep:write\ton /apps/sling/install\nend\n"
+}
diff --git a/feature-model/example/sling/sling-event.json b/feature-model/example/sling/sling-event.json
new file mode 100644
index 0000000..263dee1
--- /dev/null
+++ b/feature-model/example/sling/sling-event.json
@@ -0,0 +1,28 @@
+{
+    "id": "generated/sling-event/1.0.0",
+    "bundles": [
+        "org.apache.sling/org.apache.sling.discovery.api/1.0.4",
+        "org.apache.sling/org.apache.sling.discovery.base/2.0.0",
+        "org.apache.sling/org.apache.sling.discovery.commons/1.0.20",
+        "org.apache.sling/org.apache.sling.discovery.oak/1.2.18",
+        "org.apache.sling/org.apache.sling.discovery.support/1.0.0",
+        "org.apache.sling/org.apache.sling.event.dea/1.1.2",
+        "org.apache.sling/org.apache.sling.event/4.2.6"
+    ],
+    "configurations": {
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling.discovery": {
+            "user.mapping": [
+                "org.apache.sling.discovery.commons=sling-discovery",
+                "org.apache.sling.discovery.base=sling-discovery",
+                "org.apache.sling.discovery.oak=sling-discovery"
+            ]
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling.event": {
+            "user.mapping": [
+                "org.apache.sling.event=sling-event",
+                "org.apache.sling.event.dea=sling-event"
+            ]
+        }
+    },
+    "repoinit:TEXT|false": "create service user sling-discovery\n\ncreate path (sling:Folder) /var/discovery\ncreate path (sling:Folder) /var/discovery/oak\n\nset ACL for sling-discovery\nallow   jcr:read,rep:write    on /var/discovery\nend\n\n\n\ncreate service user sling-event\n\ncreate path (sling:Folder) /var\ncreate path (sling:Folder) /var/eventing\n\nset ACL for sling-event\nallow   jcr:read,rep:write    on /var/eventing\nend\n\n"
+}
diff --git a/feature-model/example/sling/sling-validation.json b/feature-model/example/sling/sling-validation.json
new file mode 100644
index 0000000..5c48abe
--- /dev/null
+++ b/feature-model/example/sling/sling-validation.json
@@ -0,0 +1,23 @@
+{
+    "id": "generated/sling-validation/1.0.0",
+    "bundles": [
+        "org.apache.sling/org.apache.sling.caconfig.api/1.1.0",
+        "org.apache.sling/org.apache.sling.caconfig.impl/1.4.2",
+        "org.apache.sling/org.apache.sling.caconfig.spi/1.3.2",
+        "org.apache.sling/org.apache.sling.validation.api/1.0.0",
+        "org.apache.sling/org.apache.sling.validation.core/1.0.0"
+    ],
+    "configurations": {
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-caconfig": {
+            "user.mapping": [
+                "org.apache.sling.caconfig.impl=sling-readall"
+            ]
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~validation": {
+            "user.mapping": [
+                "org.apache.sling.validation.core=sling-validation"
+            ]
+        }
+    },
+    "repoinit:TEXT|false": "create path (sling:Folder) /conf\n\n\ncreate service user sling-validation\n\ncreate path (sling:Folder) /apps\ncreate path (sling:Folder) /libs\n\nset ACL for sling-validation\nallow   jcr:read    on /apps\nallow   jcr:read    on /libs\nend\n"
+}
diff --git a/feature-model/example/sling/sling.json b/feature-model/example/sling/sling.json
new file mode 100644
index 0000000..75fd227
--- /dev/null
+++ b/feature-model/example/sling/sling.json
@@ -0,0 +1,522 @@
+{
+    "id": "generated/sling/1.0.0",
+    "bundles": [
+        {
+            "id": "commons-fileupload/commons-fileupload/1.3.2",
+            "start-order" : 5
+        },
+        {
+            "id": "commons-io/commons-io/2.5",
+            "start-order" : 5
+        },
+        {
+            "id": "org.apache.aries.jmx/org.apache.aries.jmx.api/1.1.5",
+            "start-order" : 5
+        },
+        {
+            "id": "org.apache.aries.jmx/org.apache.aries.jmx.core/1.1.7",
+            "start-order" : 5
+        },
+        {
+            "id": "org.apache.aries.jmx/org.apache.aries.jmx.whiteboard/1.1.5",
+            "start-order" : 5
+        },
+        {
+            "id": "org.apache.felix/org.apache.felix.bundlerepository/1.6.4",
+            "start-order" : 5
+        },
+        {
+            "id": "org.apache.felix/org.apache.felix.inventory/1.0.4",
+            "start-order" : 5
+        },
+        {
+            "id": "org.apache.felix/org.apache.felix.prefs/1.1.0", 
+            "start-order" : 5
+        },
+        {
+            "id": "org.apache.felix/org.apache.felix.webconsole.plugins.ds/2.0.6", 
+            "start-order" : 5
+        },
+        {
+            "id": "org.apache.felix/org.apache.felix.webconsole.plugins.event/1.1.6", 
+            "start-order" : 5
+        },
+        {
+            "id": "org.apache.felix/org.apache.felix.webconsole.plugins.memoryusage/1.0.6", 
+            "start-order" : 5
+        },
+        {
+            "id": "org.apache.felix/org.apache.felix.webconsole.plugins.obr/1.0.4", 
+            "start-order" : 5
+        },
+        {
+            "id": "org.apache.felix/org.apache.felix.webconsole.plugins.packageadmin/1.0.4", 
+            "start-order" : 5
+        },
+        {
+            "id": "org.apache.felix/org.apache.felix.webconsole/4.3.4", 
+            "start-order" : 5
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.commons.johnzon/1.1.0", 
+            "start-order" : 5
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.commons.log.webconsole/1.0.0", 
+            "start-order" : 5
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.extensions.threaddump/0.2.2", 
+            "start-order" : 5
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.extensions.webconsolebranding/1.0.2", 
+            "start-order" : 5
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.extensions.webconsolesecurityprovider/1.0.0", 
+            "start-order" : 5
+        },
+        {
+            "id": "org.apache.felix/org.apache.felix.http.sslfilter/1.2.2", 
+            "start-order" : 10
+        },
+        {
+            "id": "org.apache.felix/org.apache.felix.metatype/1.1.4", 
+            "start-order" : 10
+        },
+        {
+            "id": "org.apache.felix/org.apache.felix.scr/2.0.12", 
+            "start-order" : 10
+        },
+        {
+            "id": "org.apache.pdfbox/fontbox/2.0.7", 
+            "start-order" : 10
+        },
+        {
+            "id": "org.apache.pdfbox/jempbox/1.8.13", 
+            "start-order" : 10
+        },
+        {
+            "id": "org.apache.pdfbox/pdfbox/2.0.7", 
+            "start-order" : 10
+        },
+        {
+            "id": "org.apache.tika/tika-core/1.14", 
+            "start-order" : 10
+        },
+        {
+            "id": "org.apache.tika/tika-parsers/1.14", 
+            "start-order" : 10
+        },
+        {
+            "id": "com.google.guava/guava/15.0",
+            "start-order" : 15
+        },
+        {
+            "id": "io.dropwizard.metrics/metrics-core/3.2.3",
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.jackrabbit/jackrabbit-api/2.14.3", 
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.jackrabbit/jackrabbit-data/2.14.3", 
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.jackrabbit/jackrabbit-jcr-commons/2.14.3", 
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.jackrabbit/jackrabbit-jcr-rmi/2.14.3", 
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.jackrabbit/jackrabbit-spi-commons/2.14.3", 
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.jackrabbit/jackrabbit-spi/2.14.3", 
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.jackrabbit/jackrabbit-webdav/2.14.3", 
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.commons.metrics/1.2.0", 
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.jcr.api/2.4.0", 
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.jcr.base/3.0.4", 
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.jcr.davex/1.3.8", 
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.jcr.jackrabbit.accessmanager/3.0.0", 
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.jcr.jackrabbit.usermanager/2.2.6", 
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.jcr.jcr-wrapper/2.0.0", 
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.jcr.registration/1.0.2", 
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.jcr.webconsole/1.0.2", 
+            "start-order" : 15
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.jcr.webdav/2.3.8", 
+            "start-order" : 15
+        },
+        {
+            "id": "commons-codec/commons-codec/1.9", 
+            "start-order" : 20
+        },
+        {
+            "id": "commons-collections/commons-collections/3.2.2", 
+            "start-order" : 20
+        },
+        {
+            "id": "commons-lang/commons-lang/2.6", 
+            "start-order" : 20
+        },
+        {
+            "id": "javax.mail/mail/1.4.7", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.commons/commons-collections4/4.1", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.commons/commons-lang3/3.5", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.commons/commons-math/2.2", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.felix/org.apache.felix.http.whiteboard/3.0.0", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.geronimo.bundles/commons-httpclient/3.1_1", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.geronimo.bundles/jstl/1.2_1", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.httpcomponents/httpclient-osgi/4.4.1", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.httpcomponents/httpcore-osgi/4.4.1", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.servicemix.bundles/org.apache.servicemix.bundles.rhino/1.7.7.1_1", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.adapter/2.1.10", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.api/2.16.2", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.auth.core/1.4.0", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.auth.form/1.0.8", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.bundleresource.impl/2.2.0", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.commons.classloader/1.4.0", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.commons.compiler/2.3.0", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.commons.fsclassloader/1.0.6", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.commons.mime/2.1.10", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.commons.osgi/2.4.0", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.commons.scheduler/2.6.2", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.commons.threads/3.2.6", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.engine/2.6.8", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.fsresource/2.1.8", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.hc.api/1.0.0", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.hc.core/1.2.8", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.hc.webconsole/1.1.2", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.i18n/2.5.8", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.installer.console/1.0.2", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.installer.provider.jcr/3.1.26", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.jcr.contentloader/2.2.4", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.jcr.resource/3.0.4", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.launchpad.content/2.0.12", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.models.api/1.3.4", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.models.impl/1.4.2", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.resourceresolver/1.5.30", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.scripting.api/2.2.0", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.scripting.core/2.0.46", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.scripting.el-api/1.0.0", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.scripting.javascript/3.0.2", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.scripting.jsp-api/1.0.0", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.scripting.jsp.taglib/2.2.6", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.scripting.jsp/2.3.2", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.scripting.sightly.compiler.java/1.0.12", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.scripting.sightly.compiler/1.0.12", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.scripting.sightly.js.provider/1.0.24", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.scripting.sightly.models.provider/1.0.6", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.scripting.sightly.repl/1.0.4", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.scripting.sightly/1.0.40", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.serviceusermapper/1.3.4", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.servlets.get/2.1.26", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.servlets.post/2.3.22", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.servlets.resolver/2.4.14", 
+            "start-order" : 20
+        },
+        {
+            "id": "org.apache.sling/org.apache.sling.xss/2.0.0", 
+            "start-order" : 20
+        }
+    ],
+    "configurations": {
+        "org.apache.sling.commons.log.LogManager": {
+            "org.apache.sling.commons.log.pattern": "%d{dd.MM.yyyy HH:mm:ss.SSS} *%level* [%thread] %logger %msg%n",
+            "org.apache.sling.commons.log.file": "logs/error.log",
+            "org.apache.sling.commons.log.level": "info",
+            "org.apache.sling.commons.log.file.size": "'.'yyyy-MM-dd",
+            "org.apache.sling.commons.log.file.number:Integer": "7"
+        },
+        "org.apache.sling.engine.impl.log.RequestLogger": {
+            "access.log.enabled": true,
+            "request.log.outputtype:Integer": "0",
+            "access.log.output": "log.access",
+            "request.log.output": "log.request",
+            "request.log.enabled": true,
+            "access.log.outputtype:Integer": "0"
+        },
+        "org.apache.sling.jcr.davex.impl.servlets.SlingDavExServlet": {
+            "alias": "/server"
+        },
+        "org.apache.sling.jcr.webdav.impl.servlets.SimpleWebDavServlet": {
+            "dav.root": "/dav"
+        },
+        "org.apache.sling.scripting.core.impl.ScriptCacheImpl": {
+            "org.apache.sling.scripting.cache.additional_extensions": [
+                "js"
+            ]
+        },
+        "org.apache.sling.commons.log.LogManager.factory.config~access.log": {
+            "org.apache.sling.commons.log.pattern": "%msg%n",
+            "org.apache.sling.commons.log.names": [
+                "log.access"
+            ],
+            "org.apache.sling.commons.log.file": "logs/access.log",
+            "org.apache.sling.commons.log.level": "info"
+        },
+        "org.apache.sling.commons.log.LogManager.factory.config~request.log": {
+            "org.apache.sling.commons.log.pattern": "%msg%n",
+            "org.apache.sling.commons.log.names": [
+                "log.request"
+            ],
+            "org.apache.sling.commons.log.file": "logs/request.log",
+            "org.apache.sling.commons.log.level": "info"
+        },
+        "org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~sling": {
+            "whitelist.bundles": [
+                "org.apache.sling.installer.factory.packages",
+                "org.apache.sling.discovery.commons",
+                "org.apache.sling.discovery.base",
+                "org.apache.sling.discovery.oak",
+                "org.apache.sling.extensions.webconsolesecurityprovider",
+                "org.apache.sling.i18n",
+                "org.apache.sling.jcr.base",
+                "org.apache.sling.jcr.contentloader",
+                "org.apache.sling.jcr.davex",
+                "org.apache.sling.jcr.jackrabbit.usermanager",
+                "org.apache.sling.jcr.oak.server",
+                "org.apache.sling.jcr.repoinit",
+                "org.apache.sling.jcr.resource",
+                "org.apache.sling.jcr.webconsole",
+                "org.apache.sling.servlets.post"
+            ],
+            "whitelist.name": "sling"
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~i18n": {
+            "user.mapping": [
+                "org.apache.sling.i18n=sling-i18n"
+            ]
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~jcr-install": {
+            "user.mapping": [
+                "org.apache.sling.installer.provider.jcr=sling-jcr-install"
+            ]
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~observation": {
+            "user.mapping": [
+                "org.apache.sling.jcr.resource:observation=sling-readall"
+            ]
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~resourceresolver": {
+            "user.mapping": [
+                "org.apache.sling.resourceresolver:mapping=sling-mapping",
+                "org.apache.sling.resourceresolver:hierarchy=sling-readall",
+                "org.apache.sling.resourceresolver:observation=sling-readall",
+                "org.apache.sling.resourceresolver:console=sling-readall"
+            ]
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~scripting": {
+            "user.mapping": [
+                "org.apache.sling.scripting.core=sling-scripting",
+                "org.apache.sling.scripting.sightly.js.provider=sling-scripting"
+            ]
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~servletsresolver": {
+            "user.mapping": [
+                "org.apache.sling.servlets.resolver:console=sling-readall",
+                "org.apache.sling.servlets.resolver:scripts=sling-scripting"
+            ]
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~xss": {
+            "user.mapping": [
+                "org.apache.sling.xss=sling-xss"
+            ]
+        }
+    },
+    "repoinit:TEXT|false": "#<<< SLING-5848 - Define service user and ACLs for Scripting\ncreate service user sling-scripting\n\ncreate path (sling:Folder) /libs\ncreate path (sling:Folder) /apps\n\nset ACL for sling-scripting\ndeny    jcr:all     on /\nallow   jcr:read    on /libs,/apps\nend\n# SLING-5848 - Define service user and ACLs for Scripting >>>\n\n"
+}
diff --git a/feature-model/example/sling/slingshot.json b/feature-model/example/sling/slingshot.json
new file mode 100644
index 0000000..8837dc5
--- /dev/null
+++ b/feature-model/example/sling/slingshot.json
@@ -0,0 +1,14 @@
+{
+    "id": "generated/slingshot/0.8.0",
+    "bundles": [
+        "org.apache.sling/org.apache.sling.sample.slingshot/0.8.0"
+    ],
+    "configurations": {
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling.slingshot": {
+            "user.mapping": [
+                "org.apache.sling.sample.slingshot=slingshot-service"
+            ]
+        }
+    },
+    "repoinit:TEXT|false": "create service user slingshot-service\ncreate user slingshot1 with password slingshot1\ncreate user slingshot2 with password slingshot2\n\ncreate path (sling:Folder) /slingshot\ncreate path (sling:Folder) /slingshot/users\ncreate path (sling:Folder) /slingshot/users/slingshot1\ncreate path (sling:Folder) /slingshot/users/slingshot2\n\nset ACL for slingshot-service\nallow   jcr:read,rep:write    on /slingshot\nend\n\nset ACL for slingshot1\nallow   jcr:read,rep:write    on /slingshot/users/slingshot1\nend\n\nset ACL for slingshot2\nallow   jcr:read,rep:write    on /slingshot/users/slingshot2\nend\n"
+}
diff --git a/feature-model/example/sling/standalone.json b/feature-model/example/sling/standalone.json
new file mode 100644
index 0000000..9b787e1
--- /dev/null
+++ b/feature-model/example/sling/standalone.json
@@ -0,0 +1,7 @@
+{
+    "id": "generated/standalone/1.0.0",
+    "bundles": [
+        "org.apache.felix/org.apache.felix.http.jetty/3.4.4",
+        "org.apache.felix/org.apache.felix.http.servlet-api/1.1.2"
+    ]
+}