<?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~sling-auth-core">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-auth-core.json</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-resourceresolver">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-resourceresolver.json</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.api/2.23.4</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.auth.core/1.5.2</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.engine/2.7.4</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.resourceresolver/1.7.4</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.serviceusermapper/1.5.4</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.settings/1.4.2</bundle>
    <!-- Apache Sling Commons -->
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.johnzon/1.2.6</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.mime/2.2.2</bundle>
    <!-- dependencies -->
    <feature>config</feature>
    <feature>eventadmin</feature>
    <feature>scr</feature>
    <feature>management</feature>
    <feature prerequisite="true">pax-url-classpath</feature>
    <feature version="${project.version}">sling-commons-fsclassloader</feature>
    <feature version="${project.version}">sling-commons-osgi</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.15</bundle>
    <bundle dependency="true">mvn:commons-collections/commons-collections/3.2.2</bundle>
    <bundle dependency="true">mvn:commons-fileupload/commons-fileupload/1.4</bundle>
    <bundle dependency="true">mvn:commons-io/commons-io/2.8.0</bundle>
    <bundle dependency="true">mvn:commons-lang/commons-lang/2.6</bundle>
    <bundle dependency="true">mvn:org.apache.commons/commons-collections4/4.4</bundle>
    <bundle dependency="true">mvn:org.apache.commons/commons-lang3/3.12.0</bundle>
    <bundle dependency="true">mvn:org.apache.commons/commons-math/2.2</bundle>
    <bundle dependency="true">mvn:org.apache.felix/org.apache.felix.converter/1.0.14</bundle>
  </feature>
  <feature name="sling-configs" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.karaf-configs/0.2.0-SNAPSHOT</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.20</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">jackrabbit-oak</feature>
  </feature>
  <!-- Apache Sling Commons -->
  <feature name="sling-commons-clam" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.clam/2.0.0</bundle>
    <!-- dependencies -->
    <feature>scr</feature>
    <bundle dependency="true">mvn:commons-io/commons-io/2.8.0</bundle>
  </feature>
  <feature name="sling-commons-compiler" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.compiler/2.4.0</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.4</bundle>
  </feature>
  <feature name="sling-commons-crypto" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.crypto/1.0.0</bundle>
    <!-- dependencies -->
    <feature>scr</feature>
    <bundle dependency="true">mvn:org.apache.commons/commons-lang3/3.12.0</bundle>
    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jasypt/1.9.3_1</bundle>
  </feature>
  <feature name="sling-commons-fsclassloader" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.fsclassloader/1.0.14</bundle>
    <!-- dependencies -->
    <feature>scr</feature>
    <feature>webconsole</feature>
    <feature version="${project.version}">sling-commons-classloader</feature>
    <feature version="${project.version}">sling-commons-osgi</feature>
    <bundle dependency="true">mvn:commons-io/commons-io/2.8.0</bundle>
    <bundle dependency="true">mvn:org.apache.commons/commons-lang3/3.12.0</bundle>
  </feature>
  <feature name="sling-commons-html" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.html/1.1.0</bundle>
    <!-- dependencies -->
    <feature>scr</feature>
    <feature version="${project.version}">sling-commons-osgi</feature>
  </feature>
  <feature name="sling-commons-messaging" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.messaging/1.0.0</bundle>
  </feature>
  <feature name="sling-commons-messaging-mail" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.messaging.mail/1.0.0</bundle>
    <!-- dependencies -->
    <feature>scr</feature>
    <feature version="${project.version}">sling-commons-crypto</feature>
    <feature version="${project.version}">sling-commons-messaging</feature>
    <feature version="${project.version}">sling-commons-threads</feature>
    <bundle dependency="true">mvn:com.sun.mail/jakarta.mail/1.6.7</bundle>
    <bundle dependency="true">mvn:jakarta.mail/jakarta.mail-api/1.6.7</bundle>
    <bundle dependency="true">mvn:org.apache.commons/commons-lang3/3.12.0</bundle>
    <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activation-api-1.1/2.9.0</bundle>
  </feature>
  <feature name="sling-commons-metrics" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.metrics/1.2.8</bundle>
    <!-- dependencies -->
    <feature>scr</feature>
    <bundle dependency="true">mvn:io.dropwizard.metrics/metrics-core/3.2.6</bundle>
  </feature>
  <feature name="sling-commons-osgi" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.osgi/2.4.2</bundle>
    <feature>eventadmin</feature>
  </feature>
  <feature name="sling-commons-scheduler" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.scheduler/2.7.12</bundle>
    <!-- dependencies -->
    <feature>scr</feature>
    <feature version="${project.version}">sling-commons-metrics</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>
  </feature>
  <feature name="sling-commons-threads" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.commons.threads/3.2.20</bundle>
    <!-- dependencies -->
    <feature>config</feature>
    <feature version="${project.version}">sling-commons-metrics</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.4</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
  </feature>
  <feature name="sling-caconfig" version="${project.version}">
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-caconfig">classpath:org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-caconfig.json</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-caconfig">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-caconfig.json</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.caconfig.api/1.2.0</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.caconfig.impl/1.5.0</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.caconfig.spi/1.3.4</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-scripting</feature>
    <feature version="${project.version}">sling-xss</feature>
    <feature>webconsole</feature>
  </feature>
  <feature name="sling-clam" version="${project.version}">
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-clam">classpath:org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-clam.json</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-clam">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-clam.json</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.clam/1.1.0</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-commons-clam</feature>
    <feature version="${project.version}">sling-event</feature>
    <feature version="${project.version}">sling-jcr</feature>
  </feature>
  <feature name="sling-discovery" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.discovery.api/1.0.4</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
  </feature>
  <feature name="sling-discovery-oak" version="${project.version}">
    <config external="true" name="org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~sling-discovery">classpath:org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~sling-discovery.json</config>
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-discovery">classpath:org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-discovery.json</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-discovery">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-discovery.json</config>
    <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.oak/1.2.30</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.discovery.support/1.0.6</bundle>
    <!-- dependencies -->
    <feature>webconsole</feature>
    <feature version="${project.version}">sling-discovery</feature>
    <feature version="${project.version}">sling-healthcheck</feature>
    <feature version="${project.version}">httpcomponents-client</feature>
    <bundle dependency="true">mvn:javax.jcr/jcr/2.0</bundle>
  </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.4.0</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.distribution.core/0.4.2</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}">httpcomponents-client</feature>
    <feature version="${project.version}">jackrabbit-vault</feature>
  </feature>
  <feature name="sling-event" version="${project.version}">
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-event">classpath:org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-event.json</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-event">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-event.json</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.event/4.2.18</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.event.dea/1.1.4</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-extensions-webconsolesecurityprovider">
    <bundle>mvn:org.apache.sling/org.apache.sling.extensions.webconsolesecurityprovider/1.2.4</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">jackrabbit</feature>
    <feature>webconsole</feature>
  </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.16</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:com.google.guava/guava/15.0</bundle>
    <bundle dependency="true">mvn:org.apache.jackrabbit/oak-jackrabbit-api/1.36</bundle>
    <bundle dependency="true">mvn:org.apache.jackrabbit/jackrabbit-jcr-commons/2.20.2</bundle>
  </feature>
  <feature name="sling-healthcheck" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.hc.api/1.0.4</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.hc.support/1.0.6</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">felix-healthcheck</feature>
    <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.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-i18n">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-i18n.json</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.i18n/2.5.16</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.8</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.models.impl/1.4.16</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-adapter</feature>
    <feature version="${project.version}">sling-scripting</feature>
    <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.annotation-api-1.3/1.3_3</bundle>
  </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.12.3</bundle>
    <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/2.12.3</bundle>
    <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/2.12.3</bundle>
  </feature>
  <feature name="sling-pipes" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.pipes/4.1.2</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">jackrabbit</feature>
    <feature version="${project.version}">jackrabbit-vault</feature>
    <feature version="${project.version}">sling-caconfig</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.2</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~sling-resource-presence">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-resource-presence.json</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.4.0</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
  </feature>
  <feature name="sling-rewriter" version="${project.version}">
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-rewriter">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-rewriter.json</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.rewriter/1.3.0</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-commons-html</feature>
    <bundle dependency="true">mvn:org.apache.commons/commons-text/1.9</bundle>
  </feature>
  <feature name="sling-security" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.security/1.1.20</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
  </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">classpath:org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-validation.json</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-validation">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-validation.json</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">classpath:org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-xss.json</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-xss">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-xss.json</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.xss/2.2.12</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">httpcomponents-client</feature>
  </feature>
  <!-- Apache Sling Installer -->
  <feature name="sling-installer" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.installer.console/1.1.0</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.installer.core/3.11.4</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <bundle dependency="true">mvn:org.apache.felix/org.apache.felix.cm.json/1.0.6</bundle>
  </feature>
  <feature name="sling-installer-factory-configuration" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.installer.factory.configuration/1.3.4</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling-installer</feature>
  </feature>
  <feature name="sling-installer-factory-packages" version="${project.version}">
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-installer-factory-packages">classpath:org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-installer-factory-packages.json</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-installer-factory-packages">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-installer-factory-packages.json</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.installer.factory.packages/1.0.4</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling-installer</feature>
    <feature version="${project.version}">sling-jcr</feature>
    <feature version="${project.version}">jackrabbit-vault</feature>
  </feature>
  <feature name="sling-installer-healthcheck" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.installer.hc/2.0.2</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.3.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-provider-jcr">classpath:org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-installer-provider-jcr.json</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-installer-provider-jcr">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-installer-provider-jcr.json</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.installer.provider.jcr/3.3.0</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-jcr">classpath:org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~sling-jcr.json</config>
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-jcr-contentloader">classpath:org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-jcr-contentloader.json</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-jcr-resource">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-jcr-resource.json</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-jcr-contentloader">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-jcr-contentloader.json</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.1.6</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.contentloader/2.4.0</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.davex/1.3.10</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.resource/3.0.22</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.webconsole/1.1.0</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}">
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-jcr-jackrabbit-usermanager">classpath:org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-jcr-jackrabbit-usermanager.json</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-jcr-jackrabbit-usermanager">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-jcr-jackrabbit-usermanager.json</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.jackrabbit.accessmanager/3.0.8</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.jackrabbit.usermanager/2.2.12</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.34</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.6.8</bundle>
    <bundle dependency="true">mvn:org.apache.sling/org.apache.sling.provisioning.model/1.8.6</bundle>
  </feature>
  <!-- Apache Sling Quickstart -->
  <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">classpath:org.apache.felix.jaas.Configuration.factory~GuestLoginModule.json</config>
    <config external="true" name="org.apache.felix.jaas.Configuration.factory~LoginModuleImpl">classpath:org.apache.felix.jaas.Configuration.factory~LoginModuleImpl.json</config>
    <config external="true" name="org.apache.felix.jaas.Configuration.factory~TokenLoginModule">classpath:org.apache.felix.jaas.Configuration.factory~TokenLoginModule.json</config>
    <config external="true" name="org.apache.felix.jaas.ConfigurationSpi">classpath:org.apache.felix.jaas.ConfigurationSpi.json</config>
    <config external="true" name="org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl">classpath:org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl.json</config>
    <config external="true" name="org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl">classpath:org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl.json</config>
    <config external="true" name="org.apache.jackrabbit.oak.security.internal.SecurityProviderRegistration">classpath:org.apache.jackrabbit.oak.security.internal.SecurityProviderRegistration.json</config>
    <config external="true" name="org.apache.jackrabbit.oak.security.user.UserConfigurationImpl">classpath:org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.json</config>
    <config external="true" name="org.apache.jackrabbit.oak.security.user.RandomAuthorizableNodeName">classpath:org.apache.jackrabbit.oak.security.user.RandomAuthorizableNodeName.json</config>
    <config external="true" name="org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl.FilterProviderImpl">classpath:org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl.FilterProviderImpl.json</config>
    <config external="true" name="org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl.PrincipalBasedAuthorizationConfiguration">classpath:org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl.PrincipalBasedAuthorizationConfiguration.json</config>
    <config external="true" name="org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider">classpath:org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider.json</config>
    <config external="true" name="org.apache.jackrabbit.vault.packaging.impl.PackagingImpl">classpath:org.apache.jackrabbit.vault.packaging.impl.PackagingImpl.json</config>
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer~sling">classpath:org.apache.sling.jcr.repoinit.RepositoryInitializer~sling.json</config>
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-mapping">classpath:org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-mapping.json</config>
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-readall">classpath:org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-readall.json</config>
    <!-- dependencies -->
    <feature>webconsole</feature>
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-servlets</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-standalone</feature>
    <feature version="${project.version}">sling-healthcheck</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.10</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">classpath:org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService.json</config>
    <config external="true" name="org.apache.jackrabbit.oak.segment.SegmentNodeStoreService">classpath:org.apache.jackrabbit.oak.segment.SegmentNodeStoreService.json</config>
    <feature version="${project.version}">sling-quickstart-oak</feature>
    <bundle>mvn:org.apache.jackrabbit/oak-lucene/1.36</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-segment-tar/1.36</bundle>
    <!-- OAK-7263 oak-lucene should not depend on oak-store-document -->
    <bundle>mvn:org.apache.jackrabbit/oak-store-document/1.36</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.oak.server/1.2.10</bundle>
    <!-- capabilities -->
    <!-- OAK-7380 Add missing OSGi capabilities -->
    <capability>
      osgi.service;objectClass=org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore,
      osgi.service;objectClass=org.apache.jackrabbit.oak.segment.SegmentNodeStoreStatsMBean,
      osgi.service;objectClass=org.apache.jackrabbit.oak.segment.SegmentStoreProvider,
      osgi.service;objectClass=org.apache.jackrabbit.oak.spi.blob.BlobStore
    </capability>
  </feature>
  <feature name="sling-quickstart-oak-mongo" version="${project.version}">
    <config external="true" name="org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService">classpath:org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService.json</config>
    <config external="true" name="org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService">classpath:org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.json</config>
    <feature version="${project.version}">sling-quickstart-oak</feature>
    <bundle>mvn:org.apache.jackrabbit/oak-lucene/1.36</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-store-document/1.36</bundle>
    <bundle>mvn:com.h2database/h2-mvstore/1.4.200</bundle>
    <bundle>mvn:org.mongodb/mongo-java-driver/3.12.8</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.jcr.oak.server/1.2.10</bundle>
    <!-- capabilities -->
    <!-- OAK-7380 Add missing OSGi capabilities -->
    <capability>
      osgi.service;objectClass=org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore,
      osgi.service;objectClass=org.apache.jackrabbit.oak.spi.blob.BlobStore
    </capability>
  </feature>
  <!-- Apache Sling Scripting -->
  <feature name="sling-scripting" version="${project.version}">
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-scripting">classpath:org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-scripting.json</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-scripting">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-scripting.json</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.api/2.2.0</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.spi/1.0.2</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.core/2.3.6</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-commons-compiler</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.4</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-adapter</feature>
    <feature version="${project.version}">sling-scripting</feature>
    <bundle dependency="true">mvn:org.freemarker/freemarker/2.3.31</bundle>
  </feature>
  <feature name="sling-scripting-groovy" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.groovy/1.2.0</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-scripting</feature>
    <feature version="${project.version}">spifly</feature>
    <bundle dependency="true">mvn:org.codehaus.groovy/groovy/3.0.8</bundle>
    <bundle dependency="true">mvn:org.codehaus.groovy/groovy-json/3.0.8</bundle>
    <bundle dependency="true">mvn:org.codehaus.groovy/groovy-templates/3.0.8</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.1.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.13_1</bundle>
  </feature>
  <feature name="sling-scripting-jsp" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.jsp/2.5.2</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.jsp.taglib/2.4.0</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.el-api/1.0.4</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.jsp-api/1.0.2</bundle>
    <bundle>mvn:org.apache.geronimo.bundles/jstl/1.2_1</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling-scripting</feature>
    <feature version="${project.version}">sling-commons-compiler</feature>
    <feature version="${project.version}">sling-caconfig</feature>
  </feature>
  <feature name="sling-scripting-htl" version="${project.version}">
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-scripting-htl">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-scripting-htl.json</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.sightly/1.4.8-1.4.0</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.sightly.compiler/1.2.12-1.4.0</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.sightly.compiler.java/1.2.2-1.4.0</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.sightly.js.provider/1.2.6</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.sightly.runtime/1.2.4-1.4.0</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>
    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.rhino/1.7.13_1</bundle>
    <bundle dependency="true">mvn:org.antlr/antlr4-runtime/4.9.2</bundle>
  </feature>
  <feature name="sling-scripting-thymeleaf" version="${project.version}">
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-scripting-thymeleaf">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-scripting-thymeleaf.json</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.scripting.thymeleaf/2.0.2</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">thymeleaf</feature>
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-scripting</feature>
    <feature version="${project.version}">sling-i18n</feature>
  </feature>
  <!-- Apache Sling Servlets -->
  <feature name="sling-servlets" version="${project.version}">
    <config external="true" name="org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~sling-servlets">classpath:org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~sling-servlets.json</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-servlets">classpath:org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-servlets.json</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.servlets.get/2.1.40</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.servlets.post/2.4.3-SNAPSHOT</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.servlets.resolver/2.7.14</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-scripting</feature>
    <feature version="${project.version}">sling-xss</feature>
  </feature>
  <!-- Apache Sling Starter -->
  <feature name="sling-starter-content" version="${project.version}">
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-starter">classpath:starter/org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-starter.json</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.starter.content/1.0.8</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-auth-form</feature>
    <feature version="${project.version}">sling-scripting-javascript</feature>
    <feature version="${project.version}">composum-nodes</feature>
  </feature>
  <!-- Apache Felix Healthcheck -->
  <feature name="felix-healthcheck" version="${project.version}">
    <bundle>mvn:org.apache.felix/org.apache.felix.healthcheck.api/2.0.4</bundle>
    <bundle>mvn:org.apache.felix/org.apache.felix.healthcheck.core/2.0.8</bundle>
    <bundle>mvn:org.apache.felix/org.apache.felix.healthcheck.generalchecks/2.0.6</bundle>
    <bundle>mvn:org.apache.felix/org.apache.felix.healthcheck.webconsoleplugin/2.0.2</bundle>
    <!-- dependencies -->
    <feature>eventadmin</feature>
    <feature>scr</feature>
    <feature>webconsole</feature>
    <bundle dependency="true">mvn:org.apache.commons/commons-lang3/3.12.0</bundle>
  </feature>
  <!-- Apache HttpComponents Client -->
  <feature name="httpcomponents-client" version="${project.version}">
    <bundle>mvn:org.apache.httpcomponents/httpclient-osgi/4.5.13</bundle>
    <!-- dependencies -->
    <feature>config</feature>
    <bundle dependency="true">mvn:org.apache.httpcomponents/httpcore-osgi/4.4.14</bundle>
  </feature>
  <!-- Apache Jackrabbit -->
  <feature name="jackrabbit" version="${project.version}">
    <bundle>mvn:org.apache.jackrabbit/oak-jackrabbit-api/1.36</bundle>
    <bundle>mvn:org.apache.jackrabbit/jackrabbit-data/2.20.2</bundle>
    <bundle>mvn:org.apache.jackrabbit/jackrabbit-jcr-commons/2.20.2</bundle>
    <bundle>mvn:org.apache.jackrabbit/jackrabbit-jcr-rmi/2.20.2</bundle>
    <bundle>mvn:org.apache.jackrabbit/jackrabbit-spi/2.20.2</bundle>
    <bundle>mvn:org.apache.jackrabbit/jackrabbit-spi-commons/2.20.2</bundle>
    <bundle>mvn:org.apache.jackrabbit/jackrabbit-webdav/2.20.2</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">httpcomponents-client</feature>
    <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.15</bundle>
    <bundle dependency="true">mvn:commons-collections/commons-collections/3.2.2</bundle>
    <bundle dependency="true">mvn:commons-fileupload/commons-fileupload/1.4</bundle>
    <bundle dependency="true">mvn:commons-io/commons-io/2.8.0</bundle>
    <bundle dependency="true">mvn:commons-lang/commons-lang/2.6</bundle>
    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-atinject_1.0_spec/1.2</bundle>
    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-el_2.2_spec/1.1</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.1</bundle>
    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
  </feature>
  <feature name="jackrabbit-oak" version="${project.version}">
    <bundle>mvn:org.apache.jackrabbit/oak-api/1.36</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-authorization-principalbased/1.36</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-blob/1.36</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-blob-plugins/1.36</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-commons/1.36</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-core/1.36</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-core-spi/1.36</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-jcr/1.36</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-query-spi/1.36</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-security-spi/1.36</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-store-composite/1.36</bundle>
    <bundle>mvn:org.apache.jackrabbit/oak-store-spi/1.36</bundle>
    <!-- dependencies -->
    <feature>scr</feature>
    <feature version="${project.version}">sling-commons-metrics</feature>
    <feature version="${project.version}">sling-commons-threads</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>
    <!-- capabilities -->
    <!-- OAK-7380 Add missing OSGi capabilities -->
    <capability>
      osgi.service;objectClass=org.apache.jackrabbit.oak.api.jmx.CacheStatsMBean,
      osgi.service;objectClass=org.apache.jackrabbit.oak.api.jmx.QueryEngineSettingsMBean,
      osgi.service;objectClass=org.apache.jackrabbit.oak.api.jmx.RepositoryManagementMBean,
      osgi.service;objectClass=org.apache.jackrabbit.oak.spi.mount.MountInfoProvider,
      osgi.service;objectClass=org.apache.jackrabbit.oak.spi.security.SecurityProvider,
      osgi.service;objectClass=org.apache.jackrabbit.oak.spi.state.NodeStore,
      osgi.service;objectClass=org.apache.jackrabbit.oak.spi.state.NodeStoreProvider,
      osgi.service;objectClass=org.apache.jackrabbit.oak.stats.StatisticsProvider
    </capability>
  </feature>
  <feature name="jackrabbit-vault" version="${project.version}">
    <bundle>mvn:org.apache.jackrabbit.vault/org.apache.jackrabbit.vault/3.4.10</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/1.26</bundle>
    <bundle>mvn:org.apache.tika/tika-parsers/1.26</bundle>
    <bundle>mvn:org.apache.pdfbox/pdfbox/2.0.23</bundle>
    <bundle>mvn:org.apache.pdfbox/fontbox/2.0.23</bundle>
    <bundle>mvn:org.apache.pdfbox/jempbox/1.8.16</bundle>
  </feature>
  <!-- Apache Sling Applications and Samples -->
  <feature name="sling-cms" version="${project.version}">
    <config external="true" name="org.apache.sling.cms.core.internal.repository.DataStoreCleanupScheduler">classpath:cms/org.apache.sling.cms.core.internal.repository.DataStoreCleanupScheduler.json</config>
    <config external="true" name="org.apache.sling.cms.core.internal.repository.RevisionCleanupScheduler">classpath:cms/org.apache.sling.cms.core.internal.repository.RevisionCleanupScheduler.json</config>
    <config external="true" name="org.apache.sling.cms.core.internal.ResourceEditorAssociation~auth">classpath:cms/org.apache.sling.cms.core.internal.ResourceEditorAssociation~auth.json</config>
    <config external="true" name="org.apache.sling.cms.core.internal.ResourceEditorAssociation~confbucket">classpath:cms/org.apache.sling.cms.core.internal.ResourceEditorAssociation~confbucket.json</config>
    <config external="true" name="org.apache.sling.cms.core.internal.ResourceEditorAssociation~confbuckets">classpath:cms/org.apache.sling.cms.core.internal.ResourceEditorAssociation~confbuckets.json</config>
    <config external="true" name="org.apache.sling.cms.core.internal.ResourceEditorAssociation~confedit">classpath:cms/org.apache.sling.cms.core.internal.ResourceEditorAssociation~confedit.json</config>
    <config external="true" name="org.apache.sling.cms.core.internal.ResourceEditorAssociation~confroot">classpath:cms/org.apache.sling.cms.core.internal.ResourceEditorAssociation~confroot.json</config>
    <config external="true" name="org.apache.sling.cms.core.internal.ResourceEditorAssociation~site">classpath:cms/org.apache.sling.cms.core.internal.ResourceEditorAssociation~site.json</config>
    <config external="true" name="org.apache.sling.cms.core.internal.ResourceEditorAssociation~sitecontent">classpath:cms/org.apache.sling.cms.core.internal.ResourceEditorAssociation~sitecontent.json</config>
    <config external="true" name="org.apache.sling.cms.core.internal.ResourceEditorAssociation~sites">classpath:cms/org.apache.sling.cms.core.internal.ResourceEditorAssociation~sites.json</config>
    <config external="true" name="org.apache.sling.cms.core.internal.ResourceEditorAssociation~static">classpath:cms/org.apache.sling.cms.core.internal.ResourceEditorAssociation~static.json</config>
    <config external="true" name="org.apache.sling.cms.core.internal.ResourceEditorAssociation~taxonomy">classpath:cms/org.apache.sling.cms.core.internal.ResourceEditorAssociation~taxonomy.json</config>
    <config external="true" name="org.apache.sling.cms.core.internal.ResourceEditorAssociation~ugc">classpath:cms/org.apache.sling.cms.core.internal.ResourceEditorAssociation~ugc.json</config>
    <config external="true" name="org.apache.sling.cms.core.internal.rewriter.ReferenceMappingTransformerFactory">classpath:cms/org.apache.sling.cms.core.internal.rewriter.ReferenceMappingTransformerFactory.json</config>
    <config external="true" name="org.apache.sling.cms.core.readability.impl.ReadabilityServiceImpl~en">classpath:cms/org.apache.sling.cms.core.readability.impl.ReadabilityServiceImpl~en.json</config>
    <config external="true" name="org.apache.sling.engine.impl.auth.SlingAuthenticator">classpath:cms/org.apache.sling.engine.impl.auth.SlingAuthenticator.json</config>
    <config external="true" name="org.apache.sling.event.jobs.QueueConfiguration~sling-cms">classpath:cms/org.apache.sling.event.jobs.QueueConfiguration~sling-cms.json</config>
    <config external="true" name="org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~serviceuser-webconsole">classpath:cms/org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~serviceuser-webconsole.json</config>
    <config external="true" name="org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-cms">classpath:cms/org.apache.sling.jcr.repoinit.RepositoryInitializer~sling-cms.json</config>
    <config external="true" name="org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl">classpath:cms/org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl.json</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-error">classpath:cms/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-error.json</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-metadata">classpath:cms/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-metadata.json</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-transformer">classpath:cms/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-transformer.json</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-ugc">classpath:cms/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-ugc.json</config>
    <config external="true" name="org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-versionmgr">classpath:cms/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-versionmgr.json</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.cms.api/0.16.3-SNAPSHOT</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.cms.core/0.16.3-SNAPSHOT</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.cms.transformer/0.16.3-SNAPSHOT</bundle>
    <bundle>mvn:org.apache.sling/org.apache.sling.cms.ui/0.16.3-SNAPSHOT</bundle>
    <!-- dependencies -->
    <feature>webconsole</feature>
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-caconfig</feature>
    <feature version="${project.version}">sling-commons-messaging-mail</feature>
    <feature version="${project.version}">sling-distribution</feature>
    <feature version="${project.version}">sling-event</feature>
    <feature version="${project.version}">sling-i18n</feature>
    <feature version="${project.version}">sling-jcr</feature>
    <feature version="${project.version}">sling-models</feature>
    <feature version="${project.version}">sling-resourcemerger</feature>
    <feature version="${project.version}">sling-rewriter</feature>
    <feature version="${project.version}">sling-scripting-jsp</feature>
    <feature version="${project.version}">sling-servlets</feature>
    <feature version="${project.version}">jackrabbit-oak</feature>
    <bundle dependency="true">mvn:com.google.guava/guava/30.1.1-jre</bundle>
    <bundle dependency="true">mvn:org.apache.commons/commons-compress/1.20</bundle>
    <bundle dependency="true">mvn:org.apache.commons/commons-math3/3.6.1</bundle>
    <bundle dependency="true">mvn:org.apache.commons/commons-text/1.9</bundle>
    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.poi/4.1.2_2</bundle>
    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlbeans/3.1.0_2</bundle>
    <bundle dependency="true">mvn:org.jsoup/jsoup/1.13.1</bundle>
    <!-- ... -->
    <bundle>mvn:org.apache.sling/org.apache.sling.fileoptim/0.9.4</bundle>
  </feature>
  <feature name="sling-cms-login" version="${project.version}">
    <bundle>mvn:org.apache.sling/org.apache.sling.cms.login/0.16.3-SNAPSHOT</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling-auth-form</feature>
  </feature>
  <feature name="sling-cms-reference" version="${project.version}">
    <config external="true" name="org.apache.sling.cms.core.internal.rewriter.ReferenceMappingTransformerFactory">classpath:cms/reference/org.apache.sling.cms.core.internal.rewriter.ReferenceMappingTransformerFactory.json</config>
    <bundle>mvn:org.apache.sling/org.apache.sling.cms.reference/0.16.3-SNAPSHOT</bundle>
    <feature version="${project.version}">sling-cms</feature>
  </feature>
  <feature name="sling-cms-author" version="${project.version}">
    <config external="true" name="org.apache.sling.cms.core.publication.ForwardAgentEndpointSynchronization">classpath:cms/author/org.apache.sling.cms.core.publication.ForwardAgentEndpointSynchronization.json</config>
    <config external="true" name="org.apache.sling.cms.core.publication.PublicationManagerFactoryImpl">classpath:cms/author/org.apache.sling.cms.core.publication.PublicationManagerFactoryImpl.json</config>
    <config external="true" name="org.apache.sling.distribution.serialization.impl.vlt.VaultDistributionPackageBuilderFactory~default">classpath:cms/author/org.apache.sling.distribution.serialization.impl.vlt.VaultDistributionPackageBuilderFactory~default.json</config>
    <!-- dependencies -->
    <feature version="${project.version}">sling-cms</feature>
  </feature>
  <feature name="sling-cms-renderer" version="${project.version}">
    <config external="true" name="org.apache.sling.cms.core.publication.PublicationManagerFactoryImpl">classpath:cms/renderer/org.apache.sling.cms.core.publication.PublicationManagerFactoryImpl.json</config>
    <config external="true" name="org.apache.sling.cms.core.publication.PublicationPropertyProvider">classpath:cms/renderer/org.apache.sling.cms.core.publication.PublicationPropertyProvider.json</config>
    <config external="true" name="org.apache.sling.distribution.packaging.impl.importer.LocalDistributionPackageImporterFactory~default">classpath:cms/renderer/org.apache.sling.distribution.packaging.impl.importer.LocalDistributionPackageImporterFactory~default.json</config>
    <config external="true" name="org.apache.sling.distribution.serialization.impl.vlt.VaultDistributionPackageBuilderFactory~default">classpath:cms/renderer/org.apache.sling.distribution.serialization.impl.vlt.VaultDistributionPackageBuilderFactory~default.json</config>
    <!-- dependencies -->
    <feature version="${project.version}">sling-cms</feature>
  </feature>
  <feature name="sling-cms-standalone" version="${project.version}">
    <config external="true" name="org.apache.sling.cms.core.internal.filters.CMSSecurityConfigInstance">classpath:cms/standalone/org.apache.sling.cms.core.internal.filters.CMSSecurityConfigInstance.json</config>
    <config external="true" name="org.apache.sling.cms.core.publication.PublicationManagerFactoryImpl">classpath:cms/standalone/org.apache.sling.cms.core.publication.PublicationManagerFactoryImpl.json</config>
    <!-- dependencies -->
    <feature version="${project.version}">sling-cms</feature>
  </feature>
  <!-- Composum -->
  <feature name="composum-nodes" version="${project.version}">
    <config external="true" name="org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~composum-nodes">classpath:composum/org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~composum-nodes.json</config>
    <bundle>mvn:com.composum.nodes/composum-nodes-commons/2.6.2</bundle>
    <bundle>mvn:com.composum.nodes/composum-nodes-console/2.6.2</bundle>
    <bundle>mvn:com.composum.nodes/composum-nodes-jslibs/2.6.2</bundle>
    <bundle>mvn:com.composum.nodes/composum-nodes-pckgmgr/2.6.2</bundle>
    <bundle>mvn:com.composum.nodes/composum-nodes-usermgr/2.6.2</bundle>
    <!-- dependencies -->
    <feature version="${project.version}">sling</feature>
    <feature version="${project.version}">sling-i18n</feature>
    <feature version="${project.version}">sling-jcr</feature>
    <feature version="${project.version}">sling-scripting-jsp</feature>
    <feature version="${project.version}">sling-servlets</feature>
    <feature version="${project.version}">sling-event</feature>
    <feature version="${project.version}">jackrabbit-vault</feature>
  </feature>
  <!-- Thymeleaf -->
  <feature name="thymeleaf" version="${project.version}">
    <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.thymeleaf/3.0.11.RELEASE_1</bundle>
    <bundle dependency="true">mvn:org.attoparser/attoparser/2.0.5.RELEASE</bundle>
    <bundle dependency="true">mvn:org.unbescape/unbescape/1.1.6.RELEASE</bundle>
    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ognl/3.2.1_1</bundle>
    <bundle dependency="true">mvn:org.javassist/javassist/3.27.0-GA</bundle>
  </feature>
  <!-- asm (KARAF-6905) -->
  <feature name="asm" version="${project.version}">
    <bundle>mvn:org.ow2.asm/asm/9.1</bundle>
    <bundle>mvn:org.ow2.asm/asm-analysis/9.1</bundle>
    <bundle>mvn:org.ow2.asm/asm-commons/9.1</bundle>
    <bundle>mvn:org.ow2.asm/asm-util/9.1</bundle>
    <bundle>mvn:org.ow2.asm/asm-tree/9.1</bundle>
  </feature>
  <!-- spifly (KARAF-6905) -->
  <feature name="spifly" version="${project.version}">
    <bundle>mvn:org.apache.aries.spifly/org.apache.aries.spifly.dynamic.bundle/1.3.3</bundle>
    <!-- dependencies -->
    <bundle dependency="true">mvn:org.apache.aries/org.apache.aries.util/1.1.3</bundle>
    <feature version="${project.version}">asm</feature>
  </feature>
</features>
