You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2020/07/21 10:51:15 UTC

[sling-org-apache-sling-starter] 01/02: SLING-9595 - Fully switch starter build to the feature model

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

rombert pushed a commit to branch feature/SLING-9595
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-starter.git

commit fcfca0cd54051d3680684382a71b0faaa1617002
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Tue Jul 21 13:19:10 2020 +0300

    SLING-9595 - Fully switch starter build to the feature model
    
    Automatically converted provisioning model files to feature model files. Some
    start order values were tweaked, as errors were reported by the analysers.
---
 pom.xml                                            | 211 +---------
 src/main/features/boot_boot.json                   | 134 ++++++
 src/main/features/composum_composum-nodes.json     |  39 ++
 src/main/features/healthcheck_healthcheck.json     | 106 +++++
 src/main/features/launchpad_launchpad.json         |  19 +
 src/main/features/oak_oak.json                     | 116 ++++++
 .../persistence/oak_persistence_mongods.json       |  19 +
 .../features/persistence/oak_persistence_sns.json  |  14 +
 src/main/features/repoinit_repoinit.json           |  74 ++++
 src/main/features/scripting_sling.json             |  92 +++++
 .../features/sling-caconfig_sling-caconfig.json    |  28 ++
 .../features/sling-discovery_sling-discovery.json  |  45 ++
 src/main/features/sling-event_sling-event.json     |  32 ++
 ...els-jacksonexporter_models-jacksonexporter.json |  25 ++
 .../sling-validation_sling-validation.json         |  36 ++
 src/main/features/sling_sling.json                 | 451 +++++++++++++++++++++
 src/main/features/sling_slingshot.json             |  39 ++
 src/main/features/standalone_standalone.json       |  16 +
 src/main/features/webapp_webapp.json               |   4 +
 src/main/provisioning/boot.txt                     |  68 ----
 src/main/provisioning/composum.txt                 |  39 --
 src/main/provisioning/healthcheck.txt              |  95 -----
 src/main/provisioning/launchpad.txt                |  30 --
 src/main/provisioning/oak.txt                      | 102 -----
 src/main/provisioning/repoinit.txt                 |  83 ----
 src/main/provisioning/scripting.txt                |  62 ---
 src/main/provisioning/sling-caconfig.txt           |  34 --
 src/main/provisioning/sling-discovery.txt          |  46 ---
 src/main/provisioning/sling-event.txt              |  42 --
 .../provisioning/sling-models-jacksonexporter.txt  |  27 --
 src/main/provisioning/sling-validation.txt         |  42 --
 src/main/provisioning/sling.txt                    | 226 -----------
 src/main/provisioning/standalone.txt               |  26 --
 src/main/provisioning/webapp.txt                   |  25 --
 34 files changed, 1310 insertions(+), 1137 deletions(-)

diff --git a/pom.xml b/pom.xml
index a23301b..d07dbe2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,12 +21,11 @@
     </parent>
 
     <artifactId>org.apache.sling.starter</artifactId>
-    <packaging>slingstart</packaging>
     <version>12-SNAPSHOT</version>
 
     <name>Apache Sling Starter Application</name>
     <description>
-        The Sling Starter application, available in both JAR and WAR flavors.
+        The Sling Starter demo application.
     </description>
 
     <scm>
@@ -71,128 +70,35 @@
             </plugin>
             <plugin>
                 <groupId>org.apache.sling</groupId>
-                <artifactId>slingstart-maven-plugin</artifactId>
-                <extensions>true</extensions>
-                <executions>
-                    <execution>
-                         <id>start-container</id>
-                        <goals>
-                            <goal>start</goal>
-                            <goal>stop</goal>
-                        </goals>
-                    </execution>
-                </executions>                
-                <configuration>
-                    <createWebapp>true</createWebapp>
-                    <servers>
-                        <server>
-                            <port>${http.port}</port>
-                            <controlPort>${sling.control.port}</controlPort>
-                        </server>
-                    </servers>                    
-                </configuration>
-            </plugin>
-
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>build-helper-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>reserve-network-port</id>
-                        <goals>
-                            <!-- pre-integration-test is too late -->
-                            <goal>reserve-network-port</goal>
-                        </goals>
-                        <phase>process-resources</phase>
-                        <configuration>
-                            <portNames>
-                                <portName>http.port</portName>
-                                <portName>sling.control.port</portName>
-                            </portNames>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <plugin>
-                <artifactId>maven-failsafe-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>integration-test</goal>
-                            <goal>verify</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <systemPropertyVariables>
-                        <launchpad.http.port>${http.port}</launchpad.http.port>
-                        <IT.expected.bundles.count>${IT.expected.bundles.count}</IT.expected.bundles.count>
-                    </systemPropertyVariables>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.sling</groupId>
-                <artifactId>sling-feature-converter-maven-plugin</artifactId>
-                <version>1.0.4</version>
-                <extensions>true</extensions>
-                <configuration>
-                    <groupId>${project.groupId}</groupId>
-                    <artifactId>${project.artifactId}</artifactId>
-                    <version>${project.version}</version>
-                    <inputFolder>src/main/provisioning</inputFolder>
-                    <frameworkProperties>
-                        launchpad:felix.systempackages.substitution=true,
-                        launchpad:felix.systempackages.calculate.uses=true
-                    </frameworkProperties>
-                    <excludeBundles>
-                        org.apache.sling.launchpad.installer,
-                        org.apache.sling.jcr.repoinit.impl.RepositoryInitializer
-                    </excludeBundles>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>convert-pm-oak_tar</id>
-                        <phase>prepare-package</phase>
-                        <goals>
-                            <goal>convert-pm</goal>
-                        </goals>
-                        <configuration>
-                            <outputFolder>target/fm/oak_tar</outputFolder>
-                            <runModes>
-                                oak_tar,
-                                :standalone
-                            </runModes>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>convert-pm-oak_mongo</id>
-                        <phase>prepare-package</phase>
-                        <goals>
-                            <goal>convert-pm</goal>
-                        </goals>
-                        <configuration>
-                            <outputFolder>target/fm/oak_mongo</outputFolder>
-                            <runModes>
-                                oak_mongo,
-                                :standalone
-                            </runModes>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.sling</groupId>
                 <artifactId>slingfeature-maven-plugin</artifactId>
                 <version>1.3.0</version>
                 <extensions>true</extensions>
                 <configuration>
-                    <features>target/fm/features</features>
                     <framework>
                         <groupId>org.apache.felix</groupId>
                         <artifactId>org.apache.felix.framework</artifactId>
                         <version>6.0.3</version>
                     </framework>
+                    <aggregates>
+                        <aggregate>
+                            <classifier>oak_tar</classifier>
+                            <filesInclude>**/*.json</filesInclude>
+                            <filesExclude>**/oak_persistence_mongods.json</filesExclude>
+                            <title>Sling With Oak Segment NS Persistence</title>
+                        </aggregate>
+                        <aggregate>
+                            <classifier>oak_mongo</classifier>
+                            <filesInclude>**/*.json</filesInclude>
+                            <filesExclude>**/oak_persistence_sns.json</filesExclude>
+                            <title>Sling With Oak Document NS Mongo Persistence</title>
+                        </aggregate>
+                    </aggregates>
+                    <scans>
+                        <scan>
+                            <includeClassifier>oak_tar</includeClassifier>
+                            <includeClassifier>oak_mongo</includeClassifier>
+                        </scan>
+                    </scans>                    
                 </configuration>
                 <executions>
                     <execution>
@@ -200,18 +106,9 @@
                         <phase>prepare-package</phase>
                         <goals>
                             <goal>aggregate-features</goal>
-                            <!--  fails for now, but application starts ...
                             <goal>analyse-features</goal>
-                             -->
                             <goal>attach-features</goal>
                         </goals>
-                        <!-- 
-                            Actual configuration is in the profiles
-                            
-                            We can't have both aggregations running at the same time, presumably since
-                            the oak feature has the same GAV for oak_tar and oak_mongo, but different
-                            contents. Since this is temporary, we'll just live with profile-based activation.
-                        -->
                     </execution>
                </executions>
             </plugin>
@@ -233,74 +130,8 @@
                 </plugin>
             </plugins>
         </pluginManagement>
-
     </build>
     
-    <profiles>
-        <profile>
-            <id>fm-oak_tar</id>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.sling</groupId>
-                        <artifactId>slingfeature-maven-plugin</artifactId>
-                        <extensions>true</extensions>
-                        <configuration>
-                            <generatedFeatures>${basedir}/target/fm/oak_tar</generatedFeatures>
-                            <scans>
-                                <scan>
-                                    <includeClassifier>oak_tar</includeClassifier>
-                                </scan>
-                            </scans>
-                            <aggregates>
-                                <aggregate>
-                                    <classifier>oak_tar</classifier>
-                                    <filesInclude>**/*.json</filesInclude>
-                                    <title>Sling With Oak Segment NS Persistence</title>
-                                </aggregate>
-                            </aggregates>
-                        </configuration>                        
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>fm-oak_mongo</id>
-            <activation>
-                <property>
-                    <name>fm.oak_mongo</name>
-                </property>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.sling</groupId>
-                        <artifactId>slingfeature-maven-plugin</artifactId>
-                        <extensions>true</extensions>
-                        <configuration>
-                            <generatedFeatures>${basedir}/target/fm/oak_mongo</generatedFeatures>
-                            <scans>
-                                <scan>
-                                    <includeClassifier>oak_mongo</includeClassifier>
-                                </scan>
-                            </scans>
-                            <aggregates>
-                                <aggregate>
-                                    <classifier>oak_mongo</classifier>
-                                    <filesInclude>**/*.json</filesInclude>
-                                    <title>Sling With Oak Document NS + MongoDB Persistence</title>
-                                </aggregate>
-                            </aggregates>
-                        </configuration>                        
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-    
     <dependencies>
         <dependency>
             <groupId>junit</groupId>
diff --git a/src/main/features/boot_boot.json b/src/main/features/boot_boot.json
new file mode 100644
index 0000000..62c0e3b
--- /dev/null
+++ b/src/main/features/boot_boot.json
@@ -0,0 +1,134 @@
+
+{
+    "id":"org.apache.sling:org.apache.sling.starter:slingfeature:boot:12-SNAPSHOT",
+    "variables":{
+        "slf4j.version":"1.7.25"
+    },
+    "bundles":[
+        {
+            "id":"org.apache.aries:org.apache.aries.util:1.1.3",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.commons:commons-lang3:3.9",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.configadmin:1.9.16",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.converter:1.0.14",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.eventadmin:1.5.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.geronimo.specs:geronimo-annotation_1.3_spec:1.1",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.geronimo.specs:geronimo-atinject_1.0_spec:1.1",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.geronimo.specs:geronimo-ws-metadata_2.0_spec:1.1.3",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.jaxb-impl:2.2.11_1",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.saaj-impl:1.3.23_2",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.2:2.9.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.jaxws-api-2.2:2.9.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.saaj-api-1.3:2.8.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.johnzon:1.2.2",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.log:5.1.12",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.logservice:1.1.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.osgi:2.4.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.installer.core:3.11.2",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.installer.factory.configuration:1.3.2",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.installer.provider.file:1.2.2",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.javax.activation:0.1.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.settings:1.3.10",
+            "start-order":"1"
+        },
+        {
+            "id":"org.jvnet.staxex:stax-ex:1.7.6",
+            "start-order":"1"
+        },
+        {
+            "id":"org.osgi:org.osgi.service.log:1.4.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.osgi:org.osgi.util.function:1.1.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.osgi:org.osgi.util.promise:1.1.1",
+            "start-order":"1"
+        },
+        {
+            "id":"org.osgi:org.osgi.util.pushstream:1.0.1",
+            "start-order":"1"
+        },
+        {
+            "id":"org.slf4j:jcl-over-slf4j:1.7.25",
+            "start-order":"1"
+        },
+        {
+            "id":"org.slf4j:log4j-over-slf4j:1.7.25",
+            "start-order":"1"
+        },
+        {
+            "id":"org.slf4j:slf4j-api:1.7.25",
+            "start-order":"1"
+        }
+    ],
+    "framework-properties":{
+        "sling.run.mode.install.options":"oak_tar,oak_mongo",
+        "localIndexDir":"${sling.home}/repository/index",
+        "repository.home":"${sling.home}/repository"
+    }
+}
\ No newline at end of file
diff --git a/src/main/features/composum_composum-nodes.json b/src/main/features/composum_composum-nodes.json
new file mode 100644
index 0000000..7d69770
--- /dev/null
+++ b/src/main/features/composum_composum-nodes.json
@@ -0,0 +1,39 @@
+
+{
+    "id":"org.apache.sling:org.apache.sling.starter:slingfeature:composum_composum-nodes:12-SNAPSHOT",
+    "variables":{
+        "composum.nodes.version":"1.11.5"
+    },
+    "bundles":[
+        {
+            "id":"com.composum.sling.core:composum-sling-core-commons:1.11.5",
+            "start-order":"20"
+        },
+        {
+            "id":"com.composum.sling.core:composum-sling-core-console:1.11.5",
+            "start-order":"20"
+        },
+        {
+            "id":"com.composum.sling.core:composum-sling-core-jslibs:1.11.5",
+            "start-order":"20"
+        },
+        {
+            "id":"com.composum.sling.core:composum-sling-package-manager:1.11.5",
+            "start-order":"20"
+        },
+        {
+            "id":"com.composum.sling.core:composum-sling-user-management:1.11.5",
+            "start-order":"20"
+        }
+    ],
+    "configurations":{
+        "org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~composum":{
+            "whitelist.bundles":[
+                "com.composum.core.commons",
+                "com.composum.core.pckgmgr",
+                "com.composum.core.pckginstall"
+            ],
+            "whitelist.name":"composum"
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/main/features/healthcheck_healthcheck.json b/src/main/features/healthcheck_healthcheck.json
new file mode 100644
index 0000000..6b4e2b9
--- /dev/null
+++ b/src/main/features/healthcheck_healthcheck.json
@@ -0,0 +1,106 @@
+
+{
+    "id":"org.apache.sling:org.apache.sling.starter:slingfeature:healthcheck:12-SNAPSHOT",
+    "bundles":[
+        {
+            "id":"org.apache.felix:org.apache.felix.healthcheck.api:2.0.4",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.healthcheck.core:2.0.8",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.healthcheck.generalchecks:2.0.6",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.healthcheck.webconsoleplugin:2.0.2",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.hc.api:1.0.4",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.hc.support:1.0.6",
+            "start-order":"20"
+        }
+    ],
+    "configurations":{
+        "org.apache.felix.hc.generalchecks.BundlesStartedCheck":{
+            "hc.tags":[
+                "bundles"
+            ]
+        },
+        "org.apache.felix.hc.generalchecks.CpuCheck":{
+            "hc.tags":[
+                "cpu",
+                "system-resources"
+            ],
+            "cpuPercentageThresholdWarn":95
+        },
+        "org.apache.felix.hc.generalchecks.DiskSpaceCheck":{
+            "hc.tags":[
+                "diskspace",
+                "system-resources"
+            ],
+            "diskPaths":[
+                "."
+            ]
+        },
+        "org.apache.felix.hc.generalchecks.FrameworkStartCheck":{
+            "hc.tags":[
+                "systemalive"
+            ],
+            "targetStartLevel:Integer":"30"
+        },
+        "org.apache.felix.hc.generalchecks.MemoryCheck":{
+            "hc.tags":[
+                "memory",
+                "system-resources"
+            ],
+            "heapUsedPercentageThresholdCritical":100,
+            "heapUsedPercentageThresholdWarn":95
+        },
+        "org.apache.felix.hc.generalchecks.ServicesCheck":{
+            "hc.tags":[
+                "systemalive"
+            ],
+            "services.list":[
+                "org.apache.sling.jcr.api.SlingRepository",
+                "org.apache.sling.engine.auth.Authenticator",
+                "org.apache.sling.api.resource.ResourceResolverFactory",
+                "org.apache.sling.api.servlets.ServletResolver",
+                "javax.script.ScriptEngineManager"
+            ]
+        },
+        "org.apache.felix.hc.generalchecks.ThreadUsageCheck":{
+            "hc.tags":[
+                "threads",
+                "cpu",
+                "system-resources"
+            ]
+        },
+        "org.apache.felix.hc.core.impl.filter.ServiceUnavailableFilter~startupandshutdown":{
+            "osgi.http.whiteboard.filter.regex":"(?!/system/).*",
+            "avoid404DuringStartup":true,
+            "service.ranking:Integer":"2147483647",
+            "includeExecutionResult":false,
+            "osgi.http.whiteboard.context.select":"(osgi.http.whiteboard.context.name=*)",
+            "tags":[
+                "systemalive"
+            ],
+            "autoDisableFilter":true,
+            "responseTextFor503":"classpath:org.apache.sling.starter.content:content/content/startup/index.html"
+        },
+        "org.apache.felix.hc.core.impl.servlet.HealthCheckExecutorServlet~default":{
+            "servletPath":"/system/health"
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~hc-support":{
+            "user.mapping":[
+                "org.apache.sling.hc.support=sling-readall"
+            ]
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/main/features/launchpad_launchpad.json b/src/main/features/launchpad_launchpad.json
new file mode 100644
index 0000000..bd204f1
--- /dev/null
+++ b/src/main/features/launchpad_launchpad.json
@@ -0,0 +1,19 @@
+
+{
+    "id":"org.apache.sling:org.apache.sling.starter:slingfeature:launchpad:12-SNAPSHOT",
+    "bundles":[
+        {
+            "id":"org.apache.sling:org.apache.sling.launchpad.base:6.0.2-2.6.36",
+            "start-order":"20"
+        }
+    ],
+    "framework-properties":{
+        "sling.jre.java.xml":",javax.xml;version=\"2.1.0\",javax.xml.datatype;uses:=\"javax.xml.namespace\";version=\"2.1.0\",javax.xml.namespace;version=\"2.1.0\",javax.xml.parsers;uses:=\"javax.xml.validation,org.w3c.dom,org.xml.sax,org.xml.sax.helpers\";version=\"2.1.0\",javax.xml.stream;uses:=\"javax.xml.namespace,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform\";version=\"1.0.0\",javax.xml.stream.events;uses:=\"javax.xml.namespace,javax.xml.stream\";version=\"1.0.0 [...]
+        "felix.systempackages.calculate.uses":"true",
+        "org.osgi.framework.system.packages":"org.osgi.framework;version=\"1.9\",org.osgi.framework.dto;version=\"1.8\";uses:=\"org.osgi.dto\",org.osgi.framework.hooks.bundle;version=\"1.1\";uses:=\"org.osgi.framework\",org.osgi.framework.hooks.resolver;version=\"1.0\";uses:=\"org.osgi.framework.wiring\",org.osgi.framework.hooks.service;version=\"1.1\";uses:=\"org.osgi.framework\",org.osgi.framework.hooks.weaving;version=\"1.1\";uses:=\"org.osgi.framework.wiring\",org.osgi.framework.laun [...]
+        "felix.systempackages.substitution":"true",
+        "sling.jre-jpms":"{dollar}{felix.jpms.java.base}{dollar}{felix.jpms.java.compiler}{dollar}{felix.jpms.java.datatransfer}{dollar}{felix.jpms.java.desktop}{dollar}{felix.jpms.java.instrument}{dollar}{felix.jpms.java.logging}{dollar}{felix.jpms.java.management}{dollar}{felix.jpms.java.management.rmi}{dollar}{felix.jpms.java.naming}{dollar}{felix.jpms.java.net.http}{dollar}{felix.jpms.java.prefs}{dollar}{felix.jpms.java.rmi}{dollar}{felix.jpms.java.scripting}{dollar}{felix.jpms.java. [...]
+        "sling.jpms.java.xml":"{dollar}{sling.jre.java.xml},javax.xml.catalog;uses:=\"javax.xml.namespace\";version=\"1.0.0\"",
+        "sling.jre-1.8":",java.applet;version=\"{dollar}{felix.detect.java.version}\",java.awt;version=\"{dollar}{felix.detect.java.version}\",java.awt.color;version=\"{dollar}{felix.detect.java.version}\",java.awt.datatransfer;version=\"{dollar}{felix.detect.java.version}\",java.awt.dnd;version=\"{dollar}{felix.detect.java.version}\",java.awt.event;version=\"{dollar}{felix.detect.java.version}\",java.awt.font;version=\"{dollar}{felix.detect.java.version}\",java.awt.geom;version=\"{dolla [...]
+    }
+}
\ No newline at end of file
diff --git a/src/main/features/oak_oak.json b/src/main/features/oak_oak.json
new file mode 100644
index 0000000..694bf7b
--- /dev/null
+++ b/src/main/features/oak_oak.json
@@ -0,0 +1,116 @@
+
+{
+    "id":"org.apache.sling:org.apache.sling.starter:slingfeature:oak:12-SNAPSHOT",
+    "variables":{
+        "oak.version":"1.26.0"
+    },
+    "bundles":[
+        {
+            "id":"org.apache.felix:org.apache.felix.jaas:1.0.2",
+            "start-order":"10"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-api:1.26.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-blob-plugins:1.26.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-blob:1.26.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-commons:1.26.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-core-spi:1.26.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-core:1.26.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-jackrabbit-api:1.26.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-jcr:1.26.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-lucene:1.26.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-query-spi:1.26.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-security-spi:1.26.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-store-composite:1.26.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-store-document:1.26.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-store-spi:1.26.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.oak.server:1.2.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"
+            ],
+            "groupPrivilegeNames":[
+                "jcr:read"
+            ],
+            "enabledActions":[
+                "org.apache.jackrabbit.oak.spi.security.user.action.AccessControlAction"
+            ]
+        },
+        "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"
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/main/features/persistence/oak_persistence_mongods.json b/src/main/features/persistence/oak_persistence_mongods.json
new file mode 100644
index 0000000..c1137a8
--- /dev/null
+++ b/src/main/features/persistence/oak_persistence_mongods.json
@@ -0,0 +1,19 @@
+{
+    "id":"org.apache.sling:org.apache.sling.starter:slingfeature:oak_persistence_mongods:12-SNAPSHOT",
+    "bundles":[
+         {
+            "id":"com.h2database:h2-mvstore:1.4.194",
+            "start-order":"15"
+        },
+        {
+            "id":"org.mongodb:mongo-java-driver:3.8.2",
+             "start-order":"15"
+         }
+    ],
+    "configurations":{
+        "org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService":{
+            "db":"sling",
+            "mongouri":"mongodb://localhost:27017"
+         }
+    }
+}
\ No newline at end of file
diff --git a/src/main/features/persistence/oak_persistence_sns.json b/src/main/features/persistence/oak_persistence_sns.json
new file mode 100644
index 0000000..844c841
--- /dev/null
+++ b/src/main/features/persistence/oak_persistence_sns.json
@@ -0,0 +1,14 @@
+{
+    "id":"org.apache.sling:org.apache.sling.starter:slingfeature:oak_persistence_sns:12-SNAPSHOT",
+    "bundles":[
+        {
+            "id":"org.apache.jackrabbit:oak-segment-tar:1.26.0",
+            "start-order":"15"
+        }
+    ],
+    "configurations":{
+        "org.apache.jackrabbit.oak.segment.SegmentNodeStoreService":{
+            "name":"Default NodeStore"
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/main/features/repoinit_repoinit.json b/src/main/features/repoinit_repoinit.json
new file mode 100644
index 0000000..819b518
--- /dev/null
+++ b/src/main/features/repoinit_repoinit.json
@@ -0,0 +1,74 @@
+
+{
+    "id":"org.apache.sling:org.apache.sling.starter:slingfeature:repoinit:12-SNAPSHOT",
+    "bundles":[
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.repoinit:1.1.20",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.provisioning.model:1.8.4",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.repoinit.parser:1.4.2",
+            "start-order":"20"
+        }
+    ],
+    "repoinit:TEXT|true":[
+        "# general",
+        "create path (sling:OrderedFolder) /content",
+        "set ACL for everyone",
+        "allow   jcr:read\ton /content",
+        "end",
+        "",
+        "# sling-mapping",
+        "create service user sling-mapping",
+        "",
+        "set ACL for sling-mapping",
+        "allow   jcr:read    on /",
+        "end",
+        "",
+        "# sling-readall",
+        "create service user sling-readall",
+        "",
+        "set ACL for sling-readall",
+        "allow   jcr:read    on /",
+        "end",
+        "",
+        "# sling-xss",
+        "create service user sling-xss",
+        "",
+        "create path (sling:Folder) /apps/sling/xss",
+        "",
+        "set ACL for sling-xss",
+        "allow   jcr:read    on /apps/sling/xss",
+        "end",
+        "",
+        "# sling-i18n",
+        "create service user sling-i18n",
+        "",
+        "set ACL for sling-i18n",
+        "allow   jcr:read    on /",
+        "end",
+        "",
+        "# sling-jcr-install",
+        "create service user sling-jcr-install",
+        "",
+        "# used for config OSGi writeback",
+        "create path (sling:Folder) /apps/sling/install",
+        "",
+        "set ACL for sling-jcr-install",
+        "allow\tjcr:read\ton\t/",
+        "allow\trep:write\ton /apps/sling/install",
+        "end",
+        "",
+        "# content-package installer",
+        "create service user sling-package-install",
+        "",
+        "set ACL for sling-package-install",
+        "allow\tjcr:all     on\t/",
+        "allow   jcr:namespaceManagement,jcr:nodeTypeDefinitionManagement on :repository",
+        "end"
+    ]
+}
\ No newline at end of file
diff --git a/src/main/features/scripting_sling.json b/src/main/features/scripting_sling.json
new file mode 100644
index 0000000..5310167
--- /dev/null
+++ b/src/main/features/scripting_sling.json
@@ -0,0 +1,92 @@
+
+{
+    "id":"org.apache.sling:org.apache.sling.starter:slingfeature:scripting_sling:12-SNAPSHOT",
+    "bundles":[
+        {
+            "id":"org.antlr:antlr4-runtime:4.7.2",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.rhino:1.7.10_1",
+            "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.3.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.el-api:1.0.2",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.javascript:3.1.2",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.jsp-api:1.0.2",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.jsp.taglib:2.4.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.jsp:2.5.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.sightly.compiler.java:1.2.0-1.4.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.sightly.compiler:1.2.6-1.4.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.sightly.js.provider:1.2.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.sightly.repl:1.0.6",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.sightly.runtime:1.2.2-1.4.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.sightly:1.4.0-1.4.0",
+            "start-order":"20"
+        }
+    ],
+    "configurations":{
+        "org.apache.sling.scripting.core.impl.ScriptCacheImpl":{
+            "org.apache.sling.scripting.cache.additional_extensions":[
+                "js"
+            ]
+        },
+        "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"
+            ]
+        }
+    },
+    "repoinit:TEXT|true":[
+        "#<<< SLING-5848 - Define service user and ACLs for Scripting",
+        "create service user sling-scripting",
+        "",
+        "create path (sling:Folder) /libs",
+        "create path (sling:Folder) /apps",
+        "",
+        "set ACL for sling-scripting",
+        "deny    jcr:all     on /",
+        "allow   jcr:read    on /libs,/apps",
+        "end",
+        "# SLING-5848 - Define service user and ACLs for Scripting >>>"
+    ]
+}
\ No newline at end of file
diff --git a/src/main/features/sling-caconfig_sling-caconfig.json b/src/main/features/sling-caconfig_sling-caconfig.json
new file mode 100644
index 0000000..0f88578
--- /dev/null
+++ b/src/main/features/sling-caconfig_sling-caconfig.json
@@ -0,0 +1,28 @@
+
+{
+    "id":"org.apache.sling:org.apache.sling.starter:slingfeature:sling-caconfig:12-SNAPSHOT",
+    "bundles":[
+        {
+            "id":"org.apache.sling:org.apache.sling.caconfig.api:1.2.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.caconfig.impl:1.5.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.caconfig.spi:1.3.4",
+            "start-order":"20"
+        }
+    ],
+    "configurations":{
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-caconfig":{
+            "user.mapping":[
+                "org.apache.sling.caconfig.impl=sling-readall"
+            ]
+        }
+    },
+    "repoinit:TEXT|true":[
+        "create path (sling:Folder) /conf"
+    ]
+}
\ No newline at end of file
diff --git a/src/main/features/sling-discovery_sling-discovery.json b/src/main/features/sling-discovery_sling-discovery.json
new file mode 100644
index 0000000..e2c7890
--- /dev/null
+++ b/src/main/features/sling-discovery_sling-discovery.json
@@ -0,0 +1,45 @@
+
+{
+    "id":"org.apache.sling:org.apache.sling.starter:slingfeature:sling-discovery:12-SNAPSHOT",
+    "bundles":[
+        {
+            "id":"org.apache.sling:org.apache.sling.discovery.api:1.0.4",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.discovery.base:2.0.8",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.discovery.commons:1.0.20",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.discovery.oak:1.2.28",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.discovery.support:1.0.4",
+            "start-order":"20"
+        }
+    ],
+    "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"
+            ]
+        }
+    },
+    "repoinit:TEXT|true":[
+        "create service user sling-discovery",
+        "",
+        "create path (sling:Folder) /var/discovery",
+        "create path (sling:Folder) /var/discovery/oak",
+        "",
+        "set ACL for sling-discovery",
+        "allow   jcr:read,rep:write    on /var/discovery",
+        "end"
+    ]
+}
\ No newline at end of file
diff --git a/src/main/features/sling-event_sling-event.json b/src/main/features/sling-event_sling-event.json
new file mode 100644
index 0000000..0063940
--- /dev/null
+++ b/src/main/features/sling-event_sling-event.json
@@ -0,0 +1,32 @@
+
+{
+    "id":"org.apache.sling:org.apache.sling.starter:slingfeature:sling-event:12-SNAPSHOT",
+    "bundles":[
+        {
+            "id":"org.apache.sling:org.apache.sling.event.dea:1.1.4",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.event:4.2.12",
+            "start-order":"20"
+        }
+    ],
+    "configurations":{
+        "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|true":[
+        "create service user sling-event",
+        "",
+        "create path (sling:Folder) /var",
+        "create path (sling:Folder) /var/eventing",
+        "",
+        "set ACL for sling-event",
+        "allow   jcr:read,rep:write    on /var/eventing",
+        "end"
+    ]
+}
\ No newline at end of file
diff --git a/src/main/features/sling-models-jacksonexporter_models-jacksonexporter.json b/src/main/features/sling-models-jacksonexporter_models-jacksonexporter.json
new file mode 100644
index 0000000..77f390a
--- /dev/null
+++ b/src/main/features/sling-models-jacksonexporter_models-jacksonexporter.json
@@ -0,0 +1,25 @@
+
+{
+    "id":"org.apache.sling:org.apache.sling.starter:slingfeature:sling-models-jacksonexporter_models-jacksonexporter:12-SNAPSHOT",
+    "variables":{
+        "jackson.version":"2.11.1"
+    },
+    "bundles":[
+        {
+            "id":"com.fasterxml.jackson.core:jackson-annotations:2.11.1",
+            "start-order":"20"
+        },
+        {
+            "id":"com.fasterxml.jackson.core:jackson-core:2.11.1",
+            "start-order":"20"
+        },
+        {
+            "id":"com.fasterxml.jackson.core:jackson-databind:2.11.1",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.models.jacksonexporter:1.0.8",
+            "start-order":"20"
+        }
+    ]
+}
\ No newline at end of file
diff --git a/src/main/features/sling-validation_sling-validation.json b/src/main/features/sling-validation_sling-validation.json
new file mode 100644
index 0000000..f035846
--- /dev/null
+++ b/src/main/features/sling-validation_sling-validation.json
@@ -0,0 +1,36 @@
+
+{
+    "id":"org.apache.sling:org.apache.sling.starter:slingfeature:sling-validation:12-SNAPSHOT",
+    "bundles":[
+        {
+            "id":"org.apache.sling:org.apache.sling.models.validation-impl:1.0.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.validation.api:1.0.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.validation.core:1.0.4",
+            "start-order":"20"
+        }
+    ],
+    "configurations":{
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~validation":{
+            "user.mapping":[
+                "org.apache.sling.validation.core=sling-validation"
+            ]
+        }
+    },
+    "repoinit:TEXT|true":[
+        "create service user sling-validation",
+        "",
+        "create path (sling:Folder) /apps",
+        "create path (sling:Folder) /libs",
+        "",
+        "set ACL for sling-validation",
+        "allow   jcr:read    on /apps",
+        "allow   jcr:read    on /libs",
+        "end"
+    ]
+}
\ No newline at end of file
diff --git a/src/main/features/sling_sling.json b/src/main/features/sling_sling.json
new file mode 100644
index 0000000..1ddf965
--- /dev/null
+++ b/src/main/features/sling_sling.json
@@ -0,0 +1,451 @@
+
+{
+    "id":"org.apache.sling:org.apache.sling.starter:slingfeature:sling:12-SNAPSHOT",
+    "variables":{
+        "jackrabbit.version":"2.20.0"
+    },
+    "bundles":[
+        {
+            "id":"commons-codec:commons-codec:1.14",
+            "start-order":"5"
+        },
+        {
+            "id":"commons-collections:commons-collections:3.2.2",
+            "start-order":"15"
+        },
+        {
+            "id":"javax.mail:mail:1.5.0-b01",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.commons:commons-collections4:4.4",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.commons:commons-math:2.2",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.geronimo.bundles:jstl:1.2_1",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.httpcomponents:httpclient-osgi:4.5.10",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.httpcomponents:httpcore-osgi:4.4.12",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit.vault:org.apache.jackrabbit.vault:3.4.4",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.adapter:2.1.10",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.auth.form:1.0.20",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.bundleresource.impl:2.3.2",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.classloader:1.4.4",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.compiler:2.4.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.fsclassloader:1.0.12",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.mime:2.2.2",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.scheduler:2.7.6",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.threads:3.2.20",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.engine:2.7.2",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.fsresource:2.1.16",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.i18n:2.5.14",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.installer.console:1.1.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.installer.factory.packages:1.0.4",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.installer.hc:2.0.2",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.installer.provider.jcr:3.2.2",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.contentloader:2.3.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.resource:3.0.22",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.models.api:1.3.8",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.models.impl:1.4.12",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.resourceresolver:1.6.16",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.serviceuser.webconsole:1.0.2",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.serviceusermapper:1.4.4",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.servlets.get:2.1.40",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.servlets.post:2.3.36",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.servlets.resolver:2.7.2",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.starter.content:1.0.8",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.xss:2.2.2",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.metatype:1.2.2",
+            "start-order":"4"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.scr:2.1.20",
+            "start-order":"4"
+        },
+        {
+            "id":"commons-fileupload:commons-fileupload:1.4",
+            "start-order":"5"
+        },
+        {
+            "id":"commons-io:commons-io:2.6",
+            "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.8",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.aries.jmx:org.apache.aries.jmx.whiteboard:1.2.0",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.bundlerepository:2.0.10",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.http.whiteboard:4.0.0",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.inventory:1.0.6",
+            "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.1.0",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.event:1.1.8",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.memoryusage:1.0.10",
+            "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.5.0",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.api:2.22.0",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.auth.core:1.4.8",
+            "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.2.4",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.http.sslfilter:1.2.6",
+            "start-order":"10"
+        },
+        {
+            "id":"org.apache.pdfbox:fontbox:2.0.17",
+            "start-order":"10"
+        },
+        {
+            "id":"org.apache.pdfbox:jempbox:1.8.16",
+            "start-order":"10"
+        },
+        {
+            "id":"org.apache.pdfbox:pdfbox:2.0.17",
+            "start-order":"10"
+        },
+        {
+            "id":"org.apache.tika:tika-core:1.24",
+            "start-order":"10"
+        },
+        {
+            "id":"org.apache.tika:tika-parsers:1.24",
+            "start-order":"10"
+        },
+        {
+            "id":"com.google.guava:guava:15.0",
+            "start-order":"15"
+        },
+        {
+            "id":"io.dropwizard.metrics:metrics-core:3.2.6",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:jackrabbit-data:2.20.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:jackrabbit-jcr-commons:2.20.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:jackrabbit-jcr-rmi:2.20.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:jackrabbit-spi-commons:2.20.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:jackrabbit-spi:2.20.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:jackrabbit-webdav:2.20.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.metrics:1.2.8",
+            "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.1.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.davex:1.3.10",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.jackrabbit.accessmanager:3.0.4",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.jackrabbit.usermanager:2.2.8",
+            "start-order":"20"
+        },
+        {
+            "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.6",
+            "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":"org.apache.sling:org.apache.sling.resource.filter:1.0.0",
+            "start-order":"15"
+        }
+    ],
+    "configurations":{
+        "org.apache.sling.commons.log.LogManager":{
+            "org.apache.sling.commons.log.packagingDataEnabled":true,
+            "org.apache.sling.commons.log.pattern":"%d{dd.MM.yyyy HH:mm:ss.SSS} *%level* [%thread] %logger %msg%n",
+            "org.apache.sling.commons.log.level":"info",
+            "org.apache.sling.commons.log.file":"logs/error.log",
+            "org.apache.sling.commons.log.file.number:Integer":"7",
+            "org.apache.sling.commons.log.file.size":"'.'yyyy-MM-dd"
+        },
+        "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.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.level":"info",
+            "org.apache.sling.commons.log.file":"logs/access.log"
+        },
+        "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.level":"info",
+            "org.apache.sling.commons.log.file":"logs/request.log"
+        },
+        "org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~sling":{
+            "whitelist.bundles":[
+                "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.jackrabbit.usermanager",
+                "org.apache.sling.jcr.oak.server",
+                "org.apache.sling.jcr.repoinit",
+                "org.apache.sling.jcr.webconsole",
+                "org.apache.sling.servlets.post",
+                "org.apache.sling.serviceuser.webconsole"
+            ],
+            "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~installer-factories":{
+            "user.mapping":[
+                "org.apache.sling.installer.factory.packages=sling-package-install"
+            ]
+        },
+        "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~jcr-resource":{
+            "user.mapping":[
+                "org.apache.sling.jcr.resource:validation=sling-readall"
+            ]
+        },
+        "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~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"
+            ]
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/main/features/sling_slingshot.json b/src/main/features/sling_slingshot.json
new file mode 100644
index 0000000..9513782
--- /dev/null
+++ b/src/main/features/sling_slingshot.json
@@ -0,0 +1,39 @@
+
+{
+    "id":"org.apache.sling:org.apache.sling.starter:slingfeature:sling_slingshot:12-SNAPSHOT",
+    "bundles":[
+        {
+            "id":"org.apache.sling:org.apache.sling.sample.slingshot:0.9.0",
+            "start-order":"20"
+        }
+    ],
+    "configurations":{
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling.slingshot":{
+            "user.mapping":[
+                "org.apache.sling.sample.slingshot=slingshot-service"
+            ]
+        }
+    },
+    "repoinit:TEXT|true":[
+        "create service user slingshot-service",
+        "create user slingshot1 with password slingshot1",
+        "create user slingshot2 with password slingshot2",
+        "",
+        "create path (sling:Folder) /content/slingshot",
+        "create path (sling:Folder) /content/slingshot/users",
+        "create path (sling:Folder) /content/slingshot/users/slingshot1",
+        "create path (sling:Folder) /content/slingshot/users/slingshot2",
+        "",
+        "set ACL for slingshot-service",
+        "allow   jcr:read,rep:write    on /content/slingshot",
+        "end",
+        "",
+        "set ACL for slingshot1",
+        "allow   jcr:read,rep:write    on /content/slingshot/users/slingshot1",
+        "end",
+        "",
+        "set ACL for slingshot2",
+        "allow   jcr:read,rep:write    on /content/slingshot/users/slingshot2",
+        "end"
+    ]
+}
\ No newline at end of file
diff --git a/src/main/features/standalone_standalone.json b/src/main/features/standalone_standalone.json
new file mode 100644
index 0000000..3414749
--- /dev/null
+++ b/src/main/features/standalone_standalone.json
@@ -0,0 +1,16 @@
+
+{
+    "id":"org.apache.sling:org.apache.sling.starter:slingfeature:standalone:12-SNAPSHOT",
+    "bundles":[
+        {
+            "id":"org.apache.felix:org.apache.felix.http.jetty:4.0.18",
+            "run-modes":":standalone",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.http.servlet-api:1.1.2",
+            "run-modes":":standalone",
+            "start-order":"5"
+        }
+    ]
+}
\ No newline at end of file
diff --git a/src/main/features/webapp_webapp.json b/src/main/features/webapp_webapp.json
new file mode 100644
index 0000000..c48ea3e
--- /dev/null
+++ b/src/main/features/webapp_webapp.json
@@ -0,0 +1,4 @@
+
+{
+    "id":"org.apache.sling:org.apache.sling.starter:slingfeature:webapp:12-SNAPSHOT"
+}
\ No newline at end of file
diff --git a/src/main/provisioning/boot.txt b/src/main/provisioning/boot.txt
deleted file mode 100644
index fccfa6f..0000000
--- a/src/main/provisioning/boot.txt
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-#
-# The :boot feature contains all things to bootstrap the installation.
-#
-[feature name=:boot]
-
-# additional entries for sling.properties
-# ---------------------------------------
-# oak_tar and oak_mongo run modes are mutually exclusive,
-# and cannot be changed after the first startup
-[settings]
-    sling.run.mode.install.options=oak_tar,oak_mongo
-    repository.home=${sling.home}/repository
-    localIndexDir=${sling.home}/repository/index
-
-[variables]
-    slf4j.version=1.7.25
-
-[artifacts]
-    org.osgi/org.osgi.util.function/1.1.0
-    org.osgi/org.osgi.util.promise/1.1.1
-    org.osgi/org.osgi.util.pushstream/1.0.1
-    org.osgi/org.osgi.service.log/1.4.0
-    org.apache.felix/org.apache.felix.converter/1.0.14
-    org.apache.sling/org.apache.sling.javax.activation/0.1.0
-    org.apache.geronimo.specs/geronimo-annotation_1.3_spec/1.1
-    org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-2.2/2.9.0
-    org.apache.servicemix.specs/org.apache.servicemix.specs.saaj-api-1.3/2.8.0
-    org.apache.servicemix.bundles/org.apache.servicemix.bundles.saaj-impl/1.3.23_2
-    org.jvnet.staxex/stax-ex/1.7.6
-    org.apache.geronimo.specs/geronimo-ws-metadata_2.0_spec/1.1.3
-    org.apache.servicemix.specs/org.apache.servicemix.specs.jaxb-api-2.2/2.9.0
-    org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/2.2.11_1
-    org.slf4j/slf4j-api/${slf4j.version}
-    org.apache.sling/org.apache.sling.commons.log/5.1.12
-    org.apache.sling/org.apache.sling.commons.logservice/1.1.0
-    org.apache.sling/org.apache.sling.commons.johnzon/1.2.2
-    org.slf4j/jcl-over-slf4j/${slf4j.version}
-    org.slf4j/log4j-over-slf4j/${slf4j.version}
-    org.apache.sling/org.apache.sling.settings/1.3.10
-    org.apache.sling/org.apache.sling.launchpad.installer/1.2.2
-    org.apache.sling/org.apache.sling.commons.osgi/2.4.0
-    org.apache.sling/org.apache.sling.installer.core/3.11.2
-    org.apache.sling/org.apache.sling.installer.provider.file/1.2.2
-    org.apache.sling/org.apache.sling.installer.factory.configuration/1.3.2
-    org.apache.felix/org.apache.felix.configadmin/1.9.16
-    org.apache.felix/org.apache.felix.eventadmin/1.5.0
-    org.apache.aries/org.apache.aries.util/1.1.3
-    # dependency with javax.inject - required for Sling Models (SLING-4710)
-    org.apache.geronimo.specs/geronimo-atinject_1.0_spec/1.1
-    org.apache.commons/commons-lang3/3.9
-    
diff --git a/src/main/provisioning/composum.txt b/src/main/provisioning/composum.txt
deleted file mode 100644
index cc4fdea..0000000
--- a/src/main/provisioning/composum.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-[feature name=composum-nodes]
-[variables]
-    composum.nodes.version=1.11.5
-
-[artifacts startLevel=20]
-
-  com.composum.sling.core/composum-sling-core-commons/${composum.nodes.version}
-  com.composum.sling.core/composum-sling-core-console/${composum.nodes.version}
-  com.composum.sling.core/composum-sling-core-jslibs/${composum.nodes.version}
-  com.composum.sling.core/composum-sling-user-management/${composum.nodes.version}
-  com.composum.sling.core/composum-sling-package-manager/${composum.nodes.version}
-
-[configurations]
-
-  # the whitelisting of administrative login (to replace by service users in Nodes 2.0)
-  org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment-composum
-    whitelist.name="composum"
-    whitelist.bundles=[
-      "com.composum.core.commons",\
-      "com.composum.core.pckgmgr",\
-      "com.composum.core.pckginstall"
-    ]
diff --git a/src/main/provisioning/healthcheck.txt b/src/main/provisioning/healthcheck.txt
deleted file mode 100644
index 7cc0df4..0000000
--- a/src/main/provisioning/healthcheck.txt
+++ /dev/null
@@ -1,95 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-##
-[feature name=healthcheck]
-
-# startlevel 5 together with jetty (to allow use during startup)
-[artifacts startLevel=5]
-    org.apache.felix/org.apache.felix.healthcheck.api/2.0.4
-    org.apache.felix/org.apache.felix.healthcheck.core/2.0.8
-    org.apache.felix/org.apache.felix.healthcheck.generalchecks/2.0.6
-    org.apache.felix/org.apache.felix.healthcheck.webconsoleplugin/2.0.2
-
-# sling health check bundles at startlevel 20
-[artifacts startLevel=20]
-    org.apache.sling/org.apache.sling.hc.api/1.0.4
-    org.apache.sling/org.apache.sling.hc.support/1.0.6
-
-[configurations]
-    
-  ## servlet
-    
-  org.apache.felix.hc.core.impl.servlet.HealthCheckExecutorServlet-default
-    servletPath="/system/health"
-
-  ## systemalive checks
-
-  org.apache.felix.hc.generalchecks.FrameworkStartCheck
-    hc.tags=["systemalive"]
-    targetStartLevel=I"30"
-    
-  org.apache.felix.hc.generalchecks.ServicesCheck
-    hc.tags=["systemalive"]
-    services.list=[
-      "org.apache.sling.jcr.api.SlingRepository",
-      "org.apache.sling.engine.auth.Authenticator",
-      "org.apache.sling.api.resource.ResourceResolverFactory",
-      "org.apache.sling.api.servlets.ServletResolver",
-      "javax.script.ScriptEngineManager",
-    ]
-
-
-  ## bundles
-  
-  org.apache.felix.hc.generalchecks.BundlesStartedCheck
-    hc.tags=["bundles"]
-    
-  ## system resources
-  
-  org.apache.felix.hc.generalchecks.ThreadUsageCheck
-    hc.tags=["threads", "cpu", "system-resources"]
-
-  org.apache.felix.hc.generalchecks.CpuCheck
-    hc.tags=["cpu", "system-resources"]
-    cpuPercentageThresholdWarn=L"95"
-    
-   org.apache.felix.hc.generalchecks.DiskSpaceCheck
-    hc.tags=["diskspace", "system-resources"]
-    diskPaths=["."]
-  
-   org.apache.felix.hc.generalchecks.MemoryCheck
-    hc.tags=["memory", "system-resources"]
-    heapUsedPercentageThresholdWarn=L"95"
-    heapUsedPercentageThresholdCritical=L"100"
-
-   ## service user for scripted health check (to make it easy to use jcr:/path/to/script urls)
-  org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-hc-support
-    user.mapping=[
-      "org.apache.sling.hc.support\=sling-readall"
-    ]
-
-  ## Service Unavailable Filter for startup-shutdown
-  org.apache.felix.hc.core.impl.filter.ServiceUnavailableFilter-startupandshutdown
-    tags=["systemalive"]
-    service.ranking=I"2147483647"
-    osgi.http.whiteboard.context.select="(osgi.http.whiteboard.context.name\=*)"
-    osgi.http.whiteboard.filter.regex="(?!/system/).*"
-    responseTextFor503="classpath:org.apache.sling.starter.content:content/content/startup/index.html"
-    includeExecutionResult=B"false"
-    autoDisableFilter=B"true"
-    avoid404DuringStartup=B"true"
diff --git a/src/main/provisioning/launchpad.txt b/src/main/provisioning/launchpad.txt
deleted file mode 100644
index 3cdef89..0000000
--- a/src/main/provisioning/launchpad.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-#
-# The :launchpad feature defines Sling's launchpad version
-# Only a single artifact is allowed within this feature.
-#
-[feature name=:launchpad]
-    org.apache.sling/org.apache.sling.launchpad.base/6.0.2-2.6.36
-
-[settings]
-  org.osgi.framework.system.packages=org.osgi.framework;version="1.9",org.osgi.framework.dto;version="1.8";uses:="org.osgi.dto",org.osgi.framework.hooks.bundle;version="1.1";uses:="org.osgi.framework",org.osgi.framework.hooks.resolver;version="1.0";uses:="org.osgi.framework.wiring",org.osgi.framework.hooks.service;version="1.1";uses:="org.osgi.framework",org.osgi.framework.hooks.weaving;version="1.1";uses:="org.osgi.framework.wiring",org.osgi.framework.launch;version="1.2";uses:="org.osg [...]
-  sling.jre-1.8=,java.applet;version="{dollar}{felix.detect.java.version}",java.awt;version="{dollar}{felix.detect.java.version}",java.awt.color;version="{dollar}{felix.detect.java.version}",java.awt.datatransfer;version="{dollar}{felix.detect.java.version}",java.awt.dnd;version="{dollar}{felix.detect.java.version}",java.awt.event;version="{dollar}{felix.detect.java.version}",java.awt.font;version="{dollar}{felix.detect.java.version}",java.awt.geom;version="{dollar}{felix.detect.java.ver [...]
-  sling.jre-jpms={dollar}{felix.jpms.java.base}{dollar}{felix.jpms.java.compiler}{dollar}{felix.jpms.java.datatransfer}{dollar}{felix.jpms.java.desktop}{dollar}{felix.jpms.java.instrument}{dollar}{felix.jpms.java.logging}{dollar}{felix.jpms.java.management}{dollar}{felix.jpms.java.management.rmi}{dollar}{felix.jpms.java.naming}{dollar}{felix.jpms.java.net.http}{dollar}{felix.jpms.java.prefs}{dollar}{felix.jpms.java.rmi}{dollar}{felix.jpms.java.scripting}{dollar}{felix.jpms.java.se}{dolla [...]
-  sling.jre.java.xml=,javax.xml;version="2.1.0",javax.xml.datatype;uses:="javax.xml.namespace";version="2.1.0",javax.xml.namespace;version="2.1.0",javax.xml.parsers;uses:="javax.xml.validation,org.w3c.dom,org.xml.sax,org.xml.sax.helpers";version="2.1.0",javax.xml.stream;uses:="javax.xml.namespace,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform";version="1.0.0",javax.xml.stream.events;uses:="javax.xml.namespace,javax.xml.stream";version="1.0.0",javax.xml.stream.util;uses [...]
-  sling.jpms.java.xml={dollar}{sling.jre.java.xml},javax.xml.catalog;uses:="javax.xml.namespace";version="1.0.0"
diff --git a/src/main/provisioning/oak.txt b/src/main/provisioning/oak.txt
deleted file mode 100644
index d3532f3..0000000
--- a/src/main/provisioning/oak.txt
+++ /dev/null
@@ -1,102 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-#
-# This is the OAK feature.
-[feature name=oak]
-
-[variables]
-    oak.version=1.26.0
-
-# The segment node store is used via a configuration
-[artifacts startLevel=10]
-    org.apache.felix/org.apache.felix.jaas/1.0.2
-
-[artifacts startLevel=15]
-    org.apache.jackrabbit/oak-api/${oak.version}
-    org.apache.jackrabbit/oak-jackrabbit-api/${oak.version}
-    org.apache.jackrabbit/oak-blob/${oak.version}
-    org.apache.jackrabbit/oak-blob-plugins/${oak.version}
-    org.apache.jackrabbit/oak-commons/${oak.version}
-    org.apache.jackrabbit/oak-core/${oak.version}
-    org.apache.jackrabbit/oak-core-spi/${oak.version}
-    org.apache.jackrabbit/oak-lucene/${oak.version}
-    org.apache.jackrabbit/oak-jcr/${oak.version}
-    org.apache.jackrabbit/oak-query-spi/${oak.version}
-    org.apache.jackrabbit/oak-security-spi/${oak.version}
-    # TODO - Sling does not come up without oak-store-composite
-    org.apache.jackrabbit/oak-store-composite/${oak.version}
-    # OAK-7263 - oak-store-document should be in oak_mongo runmode
-    org.apache.jackrabbit/oak-store-document/${oak.version}
-    org.apache.jackrabbit/oak-store-spi/${oak.version}
-
-[artifacts startLevel=15 runModes=oak_tar]
-    org.apache.jackrabbit/oak-segment-tar/${oak.version}
-
-[artifacts startLevel=15 runModes=oak_mongo]
-    org.mongodb/mongo-java-driver/3.8.2
-    com.h2database/h2-mvstore/1.4.194
-
-# start the Oak server instance after all components have been configured
-# and started to avoid restarting that component ( see SLING-4556 )
-[artifacts startLevel=16]
-    org.apache.sling/org.apache.sling.jcr.oak.server/1.2.4
-
-[configurations]
-  org.apache.felix.jaas.Configuration.factory-GuestLoginModule
-    jaas.controlFlag="optional"
-    jaas.classname="org.apache.jackrabbit.oak.spi.security.authentication.GuestLoginModule"
-    jaas.ranking=I"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=I"200"
-
-  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.UserConfigurationImpl
-    groupsPath="/home/groups"
-    usersPath="/home/users"
-    defaultDepth="1"
-    importBehavior="besteffort"
-
-  org.apache.jackrabbit.oak.security.user.RandomAuthorizableNodeName
-    length=I"21"
-
-  org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider
-    enabledActions=["org.apache.jackrabbit.oak.spi.security.user.action.AccessControlAction"]
-    userPrivilegeNames=["jcr:all"]
-    groupPrivilegeNames=["jcr:read"]
-
-[configurations runModes=oak_tar]
-  org.apache.jackrabbit.oak.segment.SegmentNodeStoreService
-    name="Default\ NodeStore"
-
-[configurations runModes=oak_mongo]
-  org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService
-    mongouri="mongodb://localhost:27017"
-    db="sling"
diff --git a/src/main/provisioning/repoinit.txt b/src/main/provisioning/repoinit.txt
deleted file mode 100644
index b268d80..0000000
--- a/src/main/provisioning/repoinit.txt
+++ /dev/null
@@ -1,83 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-#
-[feature name=repoinit]
-
-[artifacts]
-  org.apache.sling/org.apache.sling.repoinit.parser/1.4.2
-  org.apache.sling/org.apache.sling.jcr.repoinit/1.1.20
-  org.apache.sling/org.apache.sling.provisioning.model/1.8.4
-
-[:repoinit]
-    # general
-    create path (sling:OrderedFolder) /content
-    set ACL for everyone
-        allow   jcr:read	on /content
-    end
-
-    # sling-mapping
-    create service user sling-mapping
-
-    set ACL for sling-mapping
-        allow   jcr:read    on /
-    end
-
-    # sling-readall
-    create service user sling-readall
-
-    set ACL for sling-readall
-        allow   jcr:read    on /
-    end
-
-    # sling-xss
-    create service user sling-xss
-
-    create path (sling:Folder) /apps/sling/xss
-
-    set ACL for sling-xss
-        allow   jcr:read    on /apps/sling/xss
-    end
-
-    # sling-i18n
-    create service user sling-i18n
-
-    set ACL for sling-i18n
-        allow   jcr:read    on /
-    end
-
-    # sling-jcr-install
-    create service user sling-jcr-install
-
-    # used for config OSGi writeback
-    create path (sling:Folder) /apps/sling/install
-
-    set ACL for sling-jcr-install
-        allow	jcr:read	on	/
-        allow	rep:write	on /apps/sling/install
-    end
-
-    # content-package installer
-    create service user sling-package-install
-
-    set ACL for sling-package-install
-        allow	jcr:all     on	/
-        allow   jcr:namespaceManagement,jcr:nodeTypeDefinitionManagement on :repository
-    end
-[configurations]
-  org.apache.sling.jcr.repoinit.impl.RepositoryInitializer
-    references="model@repoinit:context:/resources/provisioning/model.txt"
diff --git a/src/main/provisioning/scripting.txt b/src/main/provisioning/scripting.txt
deleted file mode 100644
index ce66e92..0000000
--- a/src/main/provisioning/scripting.txt
+++ /dev/null
@@ -1,62 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-#
-#
-[feature name=sling]
-
-[artifacts]
-    org.apache.sling/org.apache.sling.scripting.api/2.2.0
-    org.apache.sling/org.apache.sling.scripting.core/2.3.0
-    org.apache.sling/org.apache.sling.scripting.javascript/3.1.2
-    org.apache.sling/org.apache.sling.scripting.jsp/2.5.0
-    org.apache.sling/org.apache.sling.scripting.jsp-api/1.0.2
-    org.apache.sling/org.apache.sling.scripting.el-api/1.0.2
-    org.apache.sling/org.apache.sling.scripting.jsp.taglib/2.4.0
-    org.antlr/antlr4-runtime/4.7.2
-    org.apache.sling/org.apache.sling.scripting.sightly.runtime/1.2.2-1.4.0
-    org.apache.sling/org.apache.sling.scripting.sightly.compiler/1.2.6-1.4.0
-    org.apache.sling/org.apache.sling.scripting.sightly.compiler.java/1.2.0-1.4.0
-    org.apache.sling/org.apache.sling.scripting.sightly/1.4.0-1.4.0
-    org.apache.sling/org.apache.sling.scripting.sightly.js.provider/1.2.0
-    org.apache.sling/org.apache.sling.scripting.sightly.repl/1.0.6
-    org.apache.servicemix.bundles/org.apache.servicemix.bundles.rhino/1.7.10_1
-
-[:repoinit]
-    #<<< SLING-5848 - Define service user and ACLs for Scripting
-    create service user sling-scripting
-
-    create path (sling:Folder) /libs
-    create path (sling:Folder) /apps
-
-    set ACL for sling-scripting
-        deny    jcr:all     on /
-        allow   jcr:read    on /libs,/apps
-    end
-    # SLING-5848 - Define service user and ACLs for Scripting >>>
-
-
-[configurations]
-    # configure the ScriptCache for scripts used by org.apache.sling.scripting.sightly.js.provider
-    org.apache.sling.scripting.core.impl.ScriptCacheImpl
-        org.apache.sling.scripting.cache.additional_extensions=["js"]
-
-    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",
-        ]
diff --git a/src/main/provisioning/sling-caconfig.txt b/src/main/provisioning/sling-caconfig.txt
deleted file mode 100644
index aa36b0c..0000000
--- a/src/main/provisioning/sling-caconfig.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-#
-#
-[feature name=sling-caconfig]
-
-[artifacts]
-    org.apache.sling/org.apache.sling.caconfig.api/1.2.0
-    org.apache.sling/org.apache.sling.caconfig.spi/1.3.4
-    org.apache.sling/org.apache.sling.caconfig.impl/1.5.0
-
-[:repoinit]
-    create path (sling:Folder) /conf
-
-[configurations]
-    org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-sling-caconfig
-        user.mapping=[
-            "org.apache.sling.caconfig.impl\=sling-readall"
-        ]
diff --git a/src/main/provisioning/sling-discovery.txt b/src/main/provisioning/sling-discovery.txt
deleted file mode 100644
index 5dd0566..0000000
--- a/src/main/provisioning/sling-discovery.txt
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-#
-#
-[feature name=sling-discovery]
-
-[artifacts]
-    org.apache.sling/org.apache.sling.discovery.api/1.0.4
-    org.apache.sling/org.apache.sling.discovery.support/1.0.4
-    org.apache.sling/org.apache.sling.discovery.commons/1.0.20
-    org.apache.sling/org.apache.sling.discovery.base/2.0.8
-    org.apache.sling/org.apache.sling.discovery.oak/1.2.28
-
-[:repoinit]
-    create service user sling-discovery
-
-    create path (sling:Folder) /var/discovery
-    create path (sling:Folder) /var/discovery/oak
-
-    set ACL for sling-discovery
-        allow   jcr:read,rep:write    on /var/discovery
-    end
-
-
-[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"
-        ]
diff --git a/src/main/provisioning/sling-event.txt b/src/main/provisioning/sling-event.txt
deleted file mode 100644
index 3db2a7a..0000000
--- a/src/main/provisioning/sling-event.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-#
-#
-[feature name=sling-event]
-
-[artifacts]
-    org.apache.sling/org.apache.sling.event/4.2.12
-    org.apache.sling/org.apache.sling.event.dea/1.1.4
-
-[:repoinit]
-    create service user sling-event
-
-    create path (sling:Folder) /var
-    create path (sling:Folder) /var/eventing
-
-    set ACL for sling-event
-        allow   jcr:read,rep:write    on /var/eventing
-    end
-
-
-[configurations]
-    org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-sling.event
-        user.mapping=[
-            "org.apache.sling.event\=sling-event",
-            "org.apache.sling.event.dea\=sling-event"
-        ]
diff --git a/src/main/provisioning/sling-models-jacksonexporter.txt b/src/main/provisioning/sling-models-jacksonexporter.txt
deleted file mode 100644
index a827271..0000000
--- a/src/main/provisioning/sling-models-jacksonexporter.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-#
-[feature name=models-jacksonexporter]
-[variables]
-    jackson.version=2.11.1
-
-[artifacts]
-  org.apache.sling/org.apache.sling.models.jacksonexporter/1.0.8
-  com.fasterxml.jackson.core/jackson-annotations/${jackson.version}
-  com.fasterxml.jackson.core/jackson-core/${jackson.version}
-  com.fasterxml.jackson.core/jackson-databind/${jackson.version}
diff --git a/src/main/provisioning/sling-validation.txt b/src/main/provisioning/sling-validation.txt
deleted file mode 100644
index 9201a7c..0000000
--- a/src/main/provisioning/sling-validation.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-#
-#
-[feature name=sling-validation]
-
-[artifacts]
-    org.apache.sling/org.apache.sling.validation.api/1.0.0
-    org.apache.sling/org.apache.sling.validation.core/1.0.4
-    org.apache.sling/org.apache.sling.models.validation-impl/1.0.0
-
-[:repoinit]
-    create service user sling-validation
-
-    create path (sling:Folder) /apps
-    create path (sling:Folder) /libs
-
-    set ACL for sling-validation
-        allow   jcr:read    on /apps
-        allow   jcr:read    on /libs
-    end
-
-[configurations]
-    org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-validation
-        user.mapping=[
-            "org.apache.sling.validation.core\=sling-validation"
-        ]
diff --git a/src/main/provisioning/sling.txt b/src/main/provisioning/sling.txt
deleted file mode 100644
index 09b5b79..0000000
--- a/src/main/provisioning/sling.txt
+++ /dev/null
@@ -1,226 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-#
-# The feature for Apache Sling
-[feature name=sling]
-
-[variables]
-    jackrabbit.version=2.20.0
-
-[artifacts startLevel=4]
-    org.apache.felix/org.apache.felix.scr/2.1.20
-    org.apache.felix/org.apache.felix.metatype/1.2.2
-
-[artifacts startLevel=5]
-    org.apache.felix/org.apache.felix.http.whiteboard/4.0.0
-    org.apache.sling/org.apache.sling.extensions.webconsolebranding/1.0.2
-    org.apache.sling/org.apache.sling.extensions.webconsolesecurityprovider/1.2.4
-    org.apache.felix/org.apache.felix.inventory/1.0.6
-    org.apache.felix/org.apache.felix.prefs/1.1.0
-    org.apache.felix/org.apache.felix.webconsole/4.5.0
-    org.apache.felix/org.apache.felix.webconsole.plugins.ds/2.1.0
-    org.apache.felix/org.apache.felix.webconsole.plugins.obr/1.0.4
-    org.apache.felix/org.apache.felix.webconsole.plugins.packageadmin/1.0.4
-    org.apache.felix/org.apache.felix.webconsole.plugins.event/1.1.8
-    org.apache.felix/org.apache.felix.webconsole.plugins.memoryusage/1.0.10
-    org.apache.felix/org.apache.felix.bundlerepository/2.0.10
-    org.apache.sling/org.apache.sling.extensions.threaddump/0.2.2
-    org.apache.aries.jmx/org.apache.aries.jmx.api/1.1.5
-    org.apache.aries.jmx/org.apache.aries.jmx.core/1.1.8
-    org.apache.aries.jmx/org.apache.aries.jmx.whiteboard/1.2.0
-    commons-io/commons-io/2.6
-    commons-fileupload/commons-fileupload/1.4
-    org.apache.sling/org.apache.sling.commons.log.webconsole/1.0.0
-    org.apache.sling/org.apache.sling.api/2.22.0
-    org.apache.sling/org.apache.sling.auth.core/1.4.8
-    
-[artifacts startLevel=10]
-    org.apache.felix/org.apache.felix.http.sslfilter/1.2.6
-    org.apache.pdfbox/pdfbox/2.0.17
-    org.apache.pdfbox/fontbox/2.0.17
-    org.apache.pdfbox/jempbox/1.8.16
-    org.apache.tika/tika-core/1.24
-    org.apache.tika/tika-parsers/1.24
-
-[artifacts startLevel=15]
-    org.apache.sling/org.apache.sling.jcr.jcr-wrapper/2.0.0
-    org.apache.sling/org.apache.sling.jcr.api/2.4.0
-    org.apache.sling/org.apache.sling.jcr.base/3.1.0
-    org.apache.sling/org.apache.sling.jcr.registration/1.0.6
-    org.apache.jackrabbit/jackrabbit-jcr-commons/${jackrabbit.version}
-    org.apache.jackrabbit/jackrabbit-spi/${jackrabbit.version}
-    org.apache.jackrabbit/jackrabbit-spi-commons/${jackrabbit.version}
-    org.apache.jackrabbit/jackrabbit-webdav/${jackrabbit.version}
-    org.apache.jackrabbit/jackrabbit-jcr-rmi/${jackrabbit.version}
-    org.apache.jackrabbit/jackrabbit-data/${jackrabbit.version}
-    org.apache.sling/org.apache.sling.jcr.webdav/2.3.8
-    org.apache.sling/org.apache.sling.jcr.davex/1.3.10
-    org.apache.sling/org.apache.sling.jcr.jackrabbit.usermanager/2.2.8
-    org.apache.sling/org.apache.sling.jcr.jackrabbit.accessmanager/3.0.4
-    org.apache.sling/org.apache.sling.jcr.webconsole/1.0.2
-    io.dropwizard.metrics/metrics-core/3.2.6
-    org.apache.sling/org.apache.sling.commons.metrics/1.2.8
-    com.google.guava/guava/15.0
-    org.apache.sling/org.apache.sling.resource.filter/1.0.0
-
-[artifacts]
-    # Add the Slingshot Sample provisioning model
-    org.apache.sling/org.apache.sling.sample.slingshot/0.9.0/slingfeature/slingfeature
-    # Default Starter content
-    # Adjust responseTextFor503 in healthcheck.txt to "classpath:org.apache.sling.starter.content:startup/index.html" when updating org.apache.sling.starter.content, see SLING-8721
-    org.apache.sling/org.apache.sling.starter.content/1.0.8
-    commons-collections/commons-collections/3.2.2
-    org.apache.commons/commons-collections4/4.4
-    commons-codec/commons-codec/1.14
-    org.apache.commons/commons-math/2.2
-    org.apache.httpcomponents/httpcore-osgi/4.4.12
-    org.apache.httpcomponents/httpclient-osgi/4.5.10
-    org.apache.sling/org.apache.sling.adapter/2.1.10
-    org.apache.sling/org.apache.sling.auth.form/1.0.20
-    org.apache.sling/org.apache.sling.bundleresource.impl/2.3.2
-    org.apache.sling/org.apache.sling.commons.classloader/1.4.4
-    org.apache.sling/org.apache.sling.commons.compiler/2.4.0
-    org.apache.sling/org.apache.sling.commons.fsclassloader/1.0.12
-    org.apache.sling/org.apache.sling.commons.mime/2.2.2
-    org.apache.sling/org.apache.sling.commons.scheduler/2.7.6
-    org.apache.sling/org.apache.sling.commons.threads/3.2.20
-    org.apache.sling/org.apache.sling.engine/2.7.2
-    org.apache.sling/org.apache.sling.fsresource/2.1.16
-    org.apache.sling/org.apache.sling.i18n/2.5.14
-    org.apache.sling/org.apache.sling.installer.console/1.1.0
-    org.apache.sling/org.apache.sling.installer.provider.jcr/3.2.2
-    org.apache.sling/org.apache.sling.installer.hc/2.0.2
-    org.apache.jackrabbit.vault/org.apache.jackrabbit.vault/3.4.4
-    org.apache.sling/org.apache.sling.installer.factory.packages/1.0.4
-    org.apache.sling/org.apache.sling.jcr.contentloader/2.3.0
-    org.apache.sling/org.apache.sling.jcr.resource/3.0.22
-    org.apache.sling/org.apache.sling.models.api/1.3.8
-    org.apache.sling/org.apache.sling.models.impl/1.4.12
-    org.apache.sling/org.apache.sling.resourceresolver/1.6.16
-    org.apache.sling/org.apache.sling.serviceusermapper/1.4.4
-    org.apache.sling/org.apache.sling.serviceuser.webconsole/1.0.2
-    org.apache.sling/org.apache.sling.servlets.get/2.1.40
-    org.apache.sling/org.apache.sling.servlets.post/2.3.36
-    org.apache.sling/org.apache.sling.servlets.resolver/2.7.2
-    org.apache.sling/org.apache.sling.xss/2.2.2
-    javax.mail/mail/1.5.0-b01
-    org.apache.geronimo.bundles/jstl/1.2_1
-
-[configurations]
-  org.apache.sling.engine.impl.log.RequestLogger
-    access.log.enabled=B"true"
-    request.log.outputtype=I"0"
-    access.log.output="log.access"
-    request.log.output="log.request"
-    request.log.enabled=B"true"
-    access.log.outputtype=I"0"
-
-  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=I"7"
-    org.apache.sling.commons.log.packagingDataEnabled=B"true"
-
-  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"
-
-  # TODO: remove bundles as their dependency on admin login is fixed, see SLING-5355 for linked issues
-  # For these bundles, admin login is considered "ok":
-  # org.apache.sling.jcr.contentloader
-  org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment-sling
-    whitelist.name="sling"
-    whitelist.bundles=[
-      "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.jackrabbit.usermanager",\
-      "org.apache.sling.jcr.oak.server",\
-      "org.apache.sling.jcr.repoinit",\
-      "org.apache.sling.jcr.webconsole",\
-      "org.apache.sling.servlets.post",\
-      "org.apache.sling.serviceuser.webconsole"
-    ]
-
-  # WebDAV servlet requires config now
-  org.apache.sling.jcr.webdav.impl.servlets.SimpleWebDavServlet
-    dav.root="/dav"
-
-  # DavEx servlet requires config now
-  org.apache.sling.jcr.davex.impl.servlets.SlingDavExServlet
-      alias="/server"
-
-  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"
-    ]
-
-  # the user mapping for the servlet resolver, subservice "console" namely the user sling-scripting is created in scripting.txt
-  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-observation
-    user.mapping=[
-      "org.apache.sling.jcr.resource:observation\=sling-readall"
-    ]
-
-  org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-xss
-    user.mapping=[
-      "org.apache.sling.xss\=sling-xss"
-    ]
-
-  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-jcr-resource
-    user.mapping=[
-      "org.apache.sling.jcr.resource:validation\=sling-readall"
-    ]
-
-  org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-installer-factories
-    user.mapping=[
-      "org.apache.sling.installer.factory.packages\=sling-package-install"
-    ]
-
diff --git a/src/main/provisioning/standalone.txt b/src/main/provisioning/standalone.txt
deleted file mode 100644
index 2bac8c2..0000000
--- a/src/main/provisioning/standalone.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-#
-# The :standalone feature contains artifacts for the standalone jar
-#
-[feature name=standalone]
-
-# Add a servlet implementation for the standalone case
-[artifacts startLevel=5 runModes=:standalone]
-    org.apache.felix/org.apache.felix.http.servlet-api/1.1.2
-    org.apache.felix/org.apache.felix.http.jetty/4.0.18
diff --git a/src/main/provisioning/webapp.txt b/src/main/provisioning/webapp.txt
deleted file mode 100644
index 0a1c7b6..0000000
--- a/src/main/provisioning/webapp.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-#
-# The :standalone feature contains artifacts for the standalone jar
-#
-[feature name=webapp]
-
-# Add the felix servlet bridge for the webapp case
-[artifacts runModes=:webapp]
-    org.apache.felix/org.apache.felix.http.bridge/4.0.12