<?xml version="1.0" encoding="UTF-8"?>
<!--
    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.
-->
<features name="sling-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.5.0">
  <!-- Apache Sling -->
  <feature name="sling" version="${project.version}">
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-resourceresolver">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-resourceresolver</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.api/2.16.4</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.auth.core/1.4.2</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.engine/2.6.12</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.resourceresolver/1.5.34</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.serviceusermapper/1.4.0</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.settings/1.3.8</bundle>
    <!-- Apache Sling Commons -->
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.johnzon/1.1.0</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.mime/2.1.10</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.osgi/2.4.0</bundle>
    <!-- dependencies -->
    <feature>config</feature>
    <feature>eventadmin</feature>
    <feature>scr</feature>
    <feature>management</feature>
    <feature>http</feature>
    <feature>http-whiteboard</feature>
    <feature version="${project.version}">sling-commons-classloader</feature>
    <feature version="${project.version}">sling-commons-scheduler</feature>
    <feature version="${project.version}">sling-commons-threads</feature>
    <bundle dependency="true">mvn:commons-codec/commons-codec/1.11</bundle>
    <bundle dependency="true">mvn:commons-collections/commons-collections/3.2.2</bundle>
    <bundle dependency="true">mvn:commons-fileupload/commons-fileupload/1.3.3</bundle>
    <bundle dependency="true">mvn:commons-io/commons-io/2.6</bundle>
    <bundle dependency="true">mvn:commons-lang/commons-lang/2.6</bundle>
    <bundle dependency="true">mvn:org.apache.commons/commons-collections4/4.1</bundle>
    <bundle dependency="true">mvn:org.apache.commons/commons-lang3/3.7</bundle>
    <bundle dependency="true">mvn:org.apache.commons/commons-math/2.2</bundle>
  </feature>
  <!-- Apache Sling Auth -->
  <feature name="sling-auth-form" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.auth.form/1.0.8</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <bundle dependency="true">mvn:javax.jcr/jcr/2.0</bundle>
  </feature>
  <feature name="sling-auth-openid" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.auth.openid/1.0.4</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
  </feature>
  <feature name="sling-auth-selector" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.auth.selector/1.0.6</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling-auth-form</feature>
    <feature version="${project.version}">sling-auth-openid</feature>
  </feature>
  <!-- Apache Sling Commons -->
  <feature name="sling-commons-compiler" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.compiler/2.3.6</bundle>
    <!-- dependencies -->
    <feature>scr</feature>
    <feature version="${project.version}">sling-commons-classloader</feature>
  </feature>
  <feature name="sling-commons-classloader" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.classloader/1.4.2</bundle>
  </feature>
  <feature name="sling-commons-fsclassloader" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.fsclassloader/1.0.8</bundle>
    <!-- dependencies -->
    <feature>scr</feature>
    <feature>webconsole</feature>
    <feature version="${project.version}">sling-commons-classloader</feature>
    <bundle dependency="true">mvn:org.apache.sling/org.apache.sling.commons.osgi/2.4.0</bundle>
    <bundle dependency="true">mvn:commons-io/commons-io/2.6</bundle>
    <bundle dependency="true">mvn:org.apache.commons/commons-lang3/3.7</bundle>
  </feature>
  <feature name="sling-commons-html" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.html/1.0.0</bundle>
    <!-- dependencies -->
    <feature>scr</feature>
  </feature>
  <feature name="sling-commons-messaging" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.messaging/0.0.1-SNAPSHOT</bundle>
  </feature>
  <feature name="sling-commons-messaging-mail" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.messaging.mail/0.0.1-SNAPSHOT</bundle>
    <!-- dependencies -->
    <feature>scr</feature>
    <feature version="${project.version}">sling-commons-messaging</feature>
    <feature version="${project.version}">sling-commons-threads</feature>
    <bundle dependency="true">mvn:com.sun.mail/javax.mail/1.6.0</bundle>
    <bundle dependency="true">mvn:javax.mail/javax.mail-api/1.6.0</bundle>
    <bundle dependency="true">mvn:org.apache.commons/commons-email/1.5</bundle>
  </feature>
  <feature name="sling-commons-metrics" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.metrics/1.2.4</bundle>
    <!-- dependencies -->
    <feature>scr</feature>
    <bundle dependency="true">mvn:io.dropwizard.metrics/metrics-core/3.2.6</bundle>
  </feature>
  <feature name="sling-commons-scheduler" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.scheduler/2.7.2</bundle>
    <!-- dependencies -->
    <feature>scr</feature>
    <feature version="${project.version}">sling-commons-threads</feature>
    <bundle dependency="true">mvn:javax.servlet/javax.servlet-api/3.1.0</bundle>
    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
    <bundle dependency="true">mvn:io.dropwizard.metrics/metrics-core/3.2.6</bundle>
  </feature>
  <feature name="sling-commons-threads" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.threads/3.2.16</bundle>
    <!-- dependencies -->
    <feature>config</feature>
  </feature>
  <!-- Apache Sling Extensions -->
  <feature name="sling-adapter" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.adapter/2.1.10</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
  </feature>
  <feature name="sling-bundleresource" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.bundleresource.impl/2.3.0</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
  </feature>
  <feature name="sling-discovery" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.discovery.api/1.0.4</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.discovery.base/2.0.8</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.discovery.commons/1.0.20</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.discovery.support/1.0.4</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <bundle dependency="true">mvn:javax.jcr/jcr/2.0</bundle>
    <bundle dependency="true">mvn:org.apache.httpcomponents/httpcore-osgi/4.4.9</bundle>
    <bundle dependency="true">mvn:org.apache.httpcomponents/httpclient-osgi/4.5.5</bundle>
  </feature>
  <feature name="sling-discovery-impl" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.discovery.impl/1.2.12</bundle>
    <!-- dependencies -->
    <feature>webconsole</feature>
    <feature version="${project.version}">sling-discovery</feature>
  </feature>
  <feature name="sling-discovery-oak" version="${project.version}">
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer-sling_discovery">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.jcr.repoinit.RepositoryInitializer-sling_discovery</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-discovery">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-discovery</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.discovery.oak/1.2.22</bundle>
    <!-- dependencies -->
    <feature>webconsole</feature>
    <feature version="${project.version}">sling-discovery</feature>
    <feature version="${project.version}">sling-healthcheck</feature>
  </feature>
  <feature name="sling-discovery-standalone" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.discovery.standalone/1.0.2</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling-discovery</feature>
  </feature>
  <feature name="sling-distribution" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.distribution.api/0.3.0</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.distribution.core/0.2.10</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-jcr</feature>
    <feature version="${project.version}">sling-event</feature>
    <feature version="${project.version}">sling-healthcheck</feature>
    <feature version="${project.version}">jackrabbit-vault</feature>
    <bundle dependency="true">mvn:org.apache.httpcomponents/httpcore-osgi/4.4.9</bundle>
    <bundle dependency="true">mvn:org.apache.httpcomponents/httpclient-osgi/4.5.5</bundle>
  </feature>
  <feature name="sling-event" version="${project.version}">
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer-sling_event">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.jcr.repoinit.RepositoryInitializer-sling_event</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-event">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-event</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.event/4.2.10</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.event.dea/1.1.2</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-discovery</feature>
    <bundle dependency="true">mvn:org.apache.felix/org.apache.felix.inventory/1.0.6</bundle>
  </feature>
  <feature name="sling-featureflags" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.featureflags/1.2.2</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
  </feature>
  <feature name="sling-fsresource" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.fsresource/2.1.12</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">jackrabbit-vault</feature>
    <bundle dependency="true">mvn:javax.jcr/jcr/2.0</bundle>
    <bundle dependency="true">mvn:org.apache.jackrabbit/jackrabbit-api/${org.apache.jackrabbit.version}</bundle>
    <bundle dependency="true">mvn:org.apache.jackrabbit/jackrabbit-jcr-commons/${org.apache.jackrabbit.version}</bundle>
    <bundle dependency="true">mvn:com.google.guava/guava/15.0</bundle>
  </feature>
  <feature name="sling-healthcheck" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.hc.api/1.0.2</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.hc.core/1.2.10</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.hc.support/1.0.4</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.hc.webconsole/1.1.2</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-jcr</feature>
    <feature version="${project.version}">sling-scripting</feature>
  </feature>
  <feature name="sling-i18n" version="${project.version}">
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer-sling_i18n">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.jcr.repoinit.RepositoryInitializer-sling_i18n</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-i18n">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-i18n</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.i18n/2.5.12</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
  </feature>
  <feature name="sling-jmx-provider" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.jmx.provider/1.0.2</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
  </feature>
  <feature name="sling-models" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.models.api/1.3.6</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.models.impl/1.4.6</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-scripting</feature>
  </feature>
  <feature name="sling-models-jacksonexporter" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.models.jacksonexporter/1.0.8</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling-models</feature>
    <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/2.9.4</bundle>
    <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/2.9.4</bundle>
    <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/2.9.4</bundle>
  </feature>
  <feature name="sling-pipes" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.pipes/2.0.2</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">jackrabbit</feature>
    <feature version="${project.version}">sling-event</feature>
    <feature version="${project.version}">sling-models</feature>
    <feature version="${project.version}">sling-query</feature>
  </feature>
  <feature name="sling-query" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.query/4.0.0</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <bundle dependency="true">mvn:javax.jcr/jcr/2.0</bundle>
  </feature>
  <feature name="sling-resource-inventory" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.resource.inventory/1.0.8</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <bundle dependency="true">mvn:org.apache.felix/org.apache.felix.inventory/1.0.6</bundle>
  </feature>
  <feature name="sling-resource-presence" version="${project.version}">
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-resource_presence">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-resource_presence</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.resource.presence/0.0.2</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
  </feature>
  <feature name="sling-resourcemerger" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.resourcemerger/1.3.8</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
  </feature>
  <feature name="sling-rewriter" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.rewriter/1.2.2</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-commons-html</feature>
  </feature>
  <feature name="sling-security" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.security/1.1.10</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
  </feature>
  <feature name="sling-extensions-threaddump" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.extensions.threaddump/0.2.2</bundle>
  </feature>
  <feature name="sling-urlrewriter" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.urlrewriter/0.0.2</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.urlrewritefilter/4.0.4_1</bundle>
  </feature>
  <feature name="sling-validation" version="${project.version}">
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer-sling_validation">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.jcr.repoinit.RepositoryInitializer-sling_validation</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-validation">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-validation</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.validation.api/1.0.0</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.validation.core/1.0.4</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-i18n</feature>
    <feature version="${project.version}">sling-servlets</feature>
  </feature>
  <feature name="sling-xss" version="${project.version}">
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer-sling_xss">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.jcr.repoinit.RepositoryInitializer-sling_xss</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-xss">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-xss</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.xss/2.0.4</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <bundle dependency="true">mvn:org.apache.geronimo.bundles/commons-httpclient/3.1_2</bundle>
  </feature>
  <!-- Apache Sling Installer -->
  <feature name="sling-installer" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.installer.console/1.0.2</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.installer.core/3.8.10</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.installer.factory.configuration/1.1.2</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
  </feature>
  <feature name="sling-installer-healthcheck" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.installer.hc/1.0.0</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling-installer</feature>
    <feature version="${project.version}">sling-healthcheck</feature>
  </feature>
  <feature name="sling-installer-provider-file" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.installer.provider.file/1.1.0</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling-installer</feature>
  </feature>
  <feature name="sling-installer-provider-jcr" version="${project.version}">
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer-sling_installer_jcr">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.jcr.repoinit.RepositoryInitializer-sling_installer_jcr</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-installer_jcr">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-installer_jcr</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.installer.provider.jcr/3.1.26</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling-installer</feature>
    <feature version="${project.version}">sling-jcr</feature>
  </feature>
  <!-- Apache Sling JCR -->
  <feature name="sling-jcr" version="${project.version}">
    <config external="true" name="org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment-sling">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment-sling</config>
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer-sling">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.jcr.repoinit.RepositoryInitializer-sling</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-jcr_resource">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-jcr_resource</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.api/2.4.0</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.base/3.0.4</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.classloader/3.2.2</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.contentloader/2.2.4</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.davex/1.3.10</bundle>
    <!-- (not using org.apache.sling.jcr.jcr-wrapper) -->
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.registration/1.0.4</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.resource/3.0.8</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.webconsole/1.0.2</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.webdav/2.3.8</bundle>
    <!-- dependencies -->
    <feature>webconsole</feature>
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">jackrabbit</feature>
    <feature version="${project.version}">jackrabbit-oak</feature>
    <feature version="${project.version}">tika</feature>
  </feature>
  <feature name="sling-jcr-compiler" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.compiler/2.1.0</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-jcr</feature>
    <feature version="${project.version}">sling-commons-compiler</feature>
  </feature>
  <feature name="sling-jcr-jackrabbit-security" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.jackrabbit.accessmanager/3.0.0</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.jackrabbit.usermanager/2.2.6</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling-jcr</feature>
    <feature version="${project.version}">sling-servlets</feature>
  </feature>
  <feature name="sling-jcr-repoinit" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.repoinit/1.1.8</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-jcr</feature>
    <feature version="${project.version}">sling-jcr-jackrabbit-security</feature>
    <bundle dependency="true">mvn:org.apache.sling/org.apache.sling.repoinit.parser/1.2.2</bundle>
    <bundle dependency="true">mvn:org.apache.sling/org.apache.sling.provisioning.model/1.8.4</bundle>
  </feature>
  <!-- Apache Sling Launchpad -->
  <feature name="sling-launchpad-content" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.launchpad.content/2.0.13-SNAPSHOT</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-auth-form</feature>
    <feature version="${project.version}">composum</feature>
  </feature>
  <!-- Apache Sling NoSQL -->
  <feature name="sling-nosql-generic" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.nosql.generic/1.1.0</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
  </feature>
  <feature name="sling-nosql-couchbase" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.nosql.couchbase-client/1.0.2</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.nosql.couchbase-resourceprovider/1.1.0</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling-nosql-generic</feature>
    <bundle dependency="true">mvn:io.wcm.osgi.wrapper/io.wcm.osgi.wrapper.rxjava/1.0.14-0000</bundle>
  </feature>
  <feature name="sling-nosql-mongodb" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.nosql.mongodb-resourceprovider/1.1.0</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling-nosql-generic</feature>
    <bundle dependency="true">mvn:org.mongodb/mongo-java-driver/3.6.2</bundle>
  </feature>
  <!-- Apache Sling Quickstart -->
  <feature name="sling-quickstart-nosql-couchbase" version="${project.version}">
    <config external="true" name="org.apache.sling.nosql.couchbase.resourceprovider.CouchbaseNoSqlResourceProviderFactory.factory.config-default">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.nosql.couchbase.resourceprovider.CouchbaseNoSqlResourceProviderFactory.factory.config-default</config>
    <config external="true" name="org.apache.sling.nosql.couchbase.client.CouchbaseClient.factory.config-default">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.nosql.couchbase.client.CouchbaseClient.factory.config-default</config>
    <!-- dependencies -->
    <feature version="${project.version}">sling-nosql-couchbase</feature>
  </feature>
  <feature name="sling-quickstart-nosql-mongodb" version="${project.version}">
    <config external="true" name="org.apache.sling.nosql.mongodb.resourceprovider.MongoDBNoSqlResourceProviderFactory.factory.config-default">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.nosql.mongodb.resourceprovider.MongoDBNoSqlResourceProviderFactory.factory.config-default</config>
    <!-- dependencies -->
    <feature version="${project.version}">sling-nosql-mongodb</feature>
  </feature>
  <feature name="sling-quickstart-oak" version="${project.version}"><!-- hidden="true" -->
    <!-- Sling with Oak Repository and Felix Web Console -->
    <!-- http://jackrabbit.apache.org/oak/docs/osgi_config.html -->
    <config external="true" name="org.apache.felix.jaas.Configuration.factory-GuestLoginModule">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.felix.jaas.Configuration.factory-GuestLoginModule</config>
    <config external="true" name="org.apache.felix.jaas.Configuration.factory-LoginModuleImpl">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.felix.jaas.Configuration.factory-LoginModuleImpl</config>
    <config external="true" name="org.apache.felix.jaas.Configuration.factory-TokenLoginModule">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.felix.jaas.Configuration.factory-TokenLoginModule</config>
    <config external="true" name="org.apache.felix.jaas.ConfigurationSpi">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.felix.jaas.ConfigurationSpi</config>
    <config external="true" name="org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl</config>
    <config external="true" name="org.apache.jackrabbit.oak.security.user.UserConfigurationImpl">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.jackrabbit.oak.security.user.UserConfigurationImpl</config>
    <config external="true" name="org.apache.jackrabbit.oak.security.user.RandomAuthorizableNodeName">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.jackrabbit.oak.security.user.RandomAuthorizableNodeName</config>
    <config external="true" name="org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider</config>
    <!-- dependencies -->
    <feature>webconsole</feature>
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-servlets</feature>
    <!-- ... -->
    <feature version="${project.version}">sling-installer</feature>
    <feature version="${project.version}">sling-jcr</feature>
    <feature version="${project.version}">sling-jcr-repoinit</feature>
    <feature version="${project.version}">sling-adapter</feature>
    <feature version="${project.version}">sling-bundleresource</feature>
    <feature version="${project.version}">sling-discovery-oak</feature>
    <bundle dependency="true">mvn:org.apache.felix/org.apache.felix.prefs/1.1.0</bundle>
    <bundle>mvn:org.apache.felix/org.apache.felix.webconsole.plugins.memoryusage/1.0.6</bundle>
    <bundle>mvn:org.apache.felix/org.apache.felix.webconsole.plugins.packageadmin/1.0.4</bundle>
  </feature>
  <feature name="sling-quickstart-oak-tar" version="${project.version}">
    <config external="true" name="org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService</config>
    <config external="true" name="org.apache.jackrabbit.oak.segment.SegmentNodeStoreService">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.jackrabbit.oak.segment.SegmentNodeStoreService</config>
    <feature version="${project.version}">sling-quickstart-oak</feature>
    <bundle>mvn:org.apache.jackrabbit/oak-lucene/${org.apache.jackrabbit.oak.version}</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-segment-tar/${org.apache.jackrabbit.oak.version}</bundle>
    <!-- OAK-7263 oak-lucene should not depend on oak-store-document -->
    <bundle>mvn:org.apache.jackrabbit/oak-store-document/${org.apache.jackrabbit.oak.version}</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.oak.server/1.2.0-SNAPSHOT</bundle>
  </feature>
  <feature name="sling-quickstart-oak-mongo" version="${project.version}">
    <config external="true" name="org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService</config>
    <config external="true" name="org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService</config>
    <feature version="${project.version}">sling-quickstart-oak</feature>
    <bundle>mvn:org.apache.jackrabbit/oak-lucene/${org.apache.jackrabbit.oak.version}</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-store-document/${org.apache.jackrabbit.oak.version}</bundle>
    <bundle>mvn:org.mongodb/mongo-java-driver/3.6.2</bundle>
    <bundle>mvn:com.h2database/h2-mvstore/1.4.196</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.oak.server/1.2.0-SNAPSHOT</bundle>
  </feature>
  <!-- Apache Sling Scripting -->
  <feature name="sling-scripting" version="${project.version}">
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer-sling_scripting">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.jcr.repoinit.RepositoryInitializer-sling_scripting</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-scripting">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-scripting</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.api/2.2.0</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.core/2.0.54</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature>webconsole</feature>
  </feature>
  <feature name="sling-scripting-freemarker" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.freemarker/1.0.0-SNAPSHOT</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-scripting</feature>
    <bundle dependency="true">mvn:org.freemarker/freemarker/2.3.27-incubating</bundle>
  </feature>
  <feature name="sling-scripting-groovy" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.groovy/1.0.2</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-scripting</feature>
    <bundle dependency="true">mvn:org.codehaus.groovy/groovy/2.4.13</bundle>
    <bundle dependency="true">mvn:org.codehaus.groovy/groovy-json/2.4.13</bundle>
    <bundle dependency="true">mvn:org.codehaus.groovy/groovy-templates/2.4.13</bundle>
  </feature>
  <feature name="sling-scripting-java" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.java/2.1.2</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-scripting</feature>
    <feature version="${project.version}">sling-commons-compiler</feature>
  </feature>
  <feature name="sling-scripting-javascript" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.javascript/3.0.4</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling-scripting</feature>
    <bundle dependency="true">mvn:javax.jcr/jcr/2.0</bundle>
    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.rhino/1.7.8_1</bundle>
  </feature>
  <feature name="sling-scripting-jsp" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.jsp/2.3.4</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.jsp.taglib/2.2.6</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling-scripting</feature>
    <feature version="${project.version}">sling-commons-compiler</feature>
  </feature>
  <feature name="sling-scripting-sightly" version="${project.version}">
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-scripting_sightly">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-scripting_sightly</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.sightly/1.0.46</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.sightly.compiler/1.0.16</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.sightly.compiler.java/1.0.18</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.sightly.js.provider/1.0.26</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.sightly.models.provider/1.0.6</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-jcr</feature>
    <feature version="${project.version}">sling-scripting</feature>
    <feature version="${project.version}">sling-scripting-javascript</feature>
    <feature version="${project.version}">sling-i18n</feature>
    <feature version="${project.version}">sling-models</feature>
    <feature version="${project.version}">sling-xss</feature>
    <feature version="${project.version}">sling-commons-compiler</feature>
    <feature version="${project.version}">sling-commons-fsclassloader</feature>
    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.rhino/1.7.8_1</bundle>
  </feature>
  <feature name="sling-scripting-thymeleaf" version="${project.version}">
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-scripting_thymeleaf">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-scripting_thymeleaf</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.thymeleaf/1.1.0</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-scripting</feature>
    <feature version="${project.version}">sling-i18n</feature>
    <bundle dependency="true">mvn:org.attoparser/attoparser/2.0.4.RELEASE</bundle>
    <bundle dependency="true">mvn:org.unbescape/unbescape/1.1.5.RELEASE</bundle>
    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ognl/3.2.4_1</bundle>
    <bundle dependency="true">mvn:org.javassist/javassist/3.22.0-GA</bundle>
  </feature>
  <!-- Apache Sling Servlets -->
  <feature name="sling-servlets" version="${project.version}">
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-servlets">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-servlets</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.servlets.get/2.1.30</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.servlets.post/2.3.24</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.servlets.resolver/2.4.22</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-xss</feature>
  </feature>
  <!-- Apache Jackrabbit -->
  <feature name="jackrabbit" version="${project.version}">
    <bundle>mvn:org.apache.jackrabbit/jackrabbit-api/${org.apache.jackrabbit.version}</bundle>
    <bundle>mvn:org.apache.jackrabbit/jackrabbit-data/${org.apache.jackrabbit.version}</bundle>
    <bundle>mvn:org.apache.jackrabbit/jackrabbit-jcr-commons/${org.apache.jackrabbit.version}</bundle>
    <bundle>mvn:org.apache.jackrabbit/jackrabbit-jcr-rmi/${org.apache.jackrabbit.version}</bundle>
    <bundle>mvn:org.apache.jackrabbit/jackrabbit-spi/${org.apache.jackrabbit.version}</bundle>
    <bundle>mvn:org.apache.jackrabbit/jackrabbit-spi-commons/${org.apache.jackrabbit.version}</bundle>
    <bundle>mvn:org.apache.jackrabbit/jackrabbit-webdav/${org.apache.jackrabbit.version}</bundle>
    <!-- dependencies -->
    <bundle dependency="true">mvn:javax.jcr/jcr/2.0</bundle>
    <bundle dependency="true">mvn:javax.servlet/javax.servlet-api/3.1.0</bundle>
    <bundle dependency="true">mvn:commons-codec/commons-codec/1.11</bundle>
    <bundle dependency="true">mvn:commons-collections/commons-collections/3.2.2</bundle>
    <bundle dependency="true">mvn:commons-fileupload/commons-fileupload/1.3.3</bundle>
    <bundle dependency="true">mvn:commons-io/commons-io/2.6</bundle>
    <bundle dependency="true">mvn:commons-lang/commons-lang/2.6</bundle>
    <bundle dependency="true">mvn:org.apache.geronimo.bundles/commons-httpclient/3.1_2</bundle>
    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-atinject_1.0_spec/1.0</bundle>
    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-el_2.2_spec/1.0.4</bundle>
    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-interceptor_1.1_spec/1.0</bundle>
    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jcdi_1.0_spec/1.0</bundle>
    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
    <bundle dependency="true">mvn:org.apache.httpcomponents/httpcore-osgi/4.4.9</bundle>
    <bundle dependency="true">mvn:org.apache.httpcomponents/httpclient-osgi/4.5.5</bundle>
  </feature>
  <feature name="jackrabbit-oak" version="${project.version}">
    <bundle>mvn:org.apache.jackrabbit/oak-api/${org.apache.jackrabbit.oak.version}</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-blob/${org.apache.jackrabbit.oak.version}</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-blob-plugins/${org.apache.jackrabbit.oak.version}</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-commons/${org.apache.jackrabbit.oak.version}</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-core/${org.apache.jackrabbit.oak.version}</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-core-spi/${org.apache.jackrabbit.oak.version}</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-jcr/${org.apache.jackrabbit.oak.version}</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-query-spi/${org.apache.jackrabbit.oak.version}</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-security-spi/${org.apache.jackrabbit.oak.version}</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-store-composite/${org.apache.jackrabbit.oak.version}</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-store-spi/${org.apache.jackrabbit.oak.version}</bundle>
    <!-- dependencies -->
    <feature>scr</feature>
    <feature version="${project.version}">jackrabbit</feature>
    <feature version="${project.version}">tika</feature>
    <bundle dependency="true">mvn:com.google.guava/guava/15.0</bundle>
    <bundle>mvn:org.apache.felix/org.apache.felix.jaas/1.0.2</bundle>
    <bundle dependency="true">mvn:io.dropwizard.metrics/metrics-core/3.2.6</bundle>
  </feature>
  <feature name="jackrabbit-vault" version="${project.version}">
    <bundle>mvn:org.apache.jackrabbit.vault/org.apache.jackrabbit.vault/3.1.42</bundle>
    <!-- dependencies -->
    <feature>scr</feature>
    <feature version="${project.version}">jackrabbit</feature>
  </feature>
  <!-- Apache Tika -->
  <feature name="tika" version="${project.version}">
    <bundle>mvn:org.apache.tika/tika-core/${org.apache.tika.version}</bundle>
    <bundle>mvn:org.apache.tika/tika-parsers/${org.apache.tika.version}</bundle>
    <bundle>mvn:org.apache.pdfbox/pdfbox/2.0.8</bundle>
    <bundle>mvn:org.apache.pdfbox/fontbox/2.0.8</bundle>
    <bundle>mvn:org.apache.pdfbox/jempbox/1.8.13</bundle>
  </feature>
  <!-- Apache Sling Samples -->
  <feature name="sling-samples-fling" version="${project.version}">
    <bundle>mvn:org.apache.sling.samples/org.apache.sling.samples.fling/0.0.1-SNAPSHOT</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-scripting-thymeleaf</feature>
    <feature version="${project.version}">sling-commons-messaging</feature>
    <feature version="${project.version}">sling-commons-messaging-mail</feature>
    <feature version="${project.version}">sling-models</feature>
    <feature version="${project.version}">sling-query</feature>
    <feature version="${project.version}">sling-validation</feature>
    <feature version="${project.version}">sling-installer-provider-jcr</feature>
    <feature version="${project.version}">sling-auth-form</feature>
  </feature>
  <!-- Composum -->
  <feature name="composum" version="${project.version}">
    <config external="true" name="org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment-composum">mvn:org.apache.sling/org.apache.sling.karaf-configs/${project.version}/config/org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment-composum</config>
    <bundle>mvn:com.composum.sling.core/composum-sling-core-commons/1.8.2</bundle>
    <bundle>mvn:com.composum.sling.core/composum-sling-core-console/1.8.2</bundle>
    <bundle>mvn:com.composum.sling.core/composum-sling-core-jslibs/1.8.2</bundle>
    <bundle>mvn:com.composum.sling.core/composum-sling-user-management/1.8.2</bundle>
    <bundle>mvn:com.composum.sling.core/composum-sling-package-manager/1.8.2</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-jcr</feature>
    <feature version="${project.version}">sling-scripting-jsp</feature>
    <feature version="${project.version}">sling-event</feature>
    <feature version="${project.version}">jackrabbit-vault</feature>
  </feature>
</features>
