<!--
/**
 * Copyright (c) Codice Foundation
 *
 * This is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either
 * version 3 of the License, or any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU Lesser General Public License for more details. A copy of the GNU Lesser General Public License is distributed along with this program and can be found at
 * <http://www.gnu.org/licenses/lgpl.html>.
 *
 **/
 -->
<features xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          name="kernel-2.30.0"
          xmlns="http://karaf.apache.org/xmlns/features/v1.3.0"
          xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.3.0 http://karaf.apache.org/xmlns/features/v1.3.0">

    <repository>mvn:org.apache.karaf.features/standard/4.4.10/xml/features</repository>
    <repository>mvn:org.apache.karaf.features/specs/4.4.10/xml/features</repository>
    <repository>mvn:org.ops4j.pax.web/pax-web-features/8.0.34/xml/features</repository>

    <feature name="kernel" version="2.30.0"
             description="Minimal set of features and dependencies commonly used.">
        <feature version="4.4.10">standard</feature>
        <feature version="4.4.10">eventadmin</feature>
        <feature version="4.4.10">jasypt-encryption</feature>
        <feature version="4.4.10">pax-web-http-war</feature>
        <feature version="8.0.34">pax-web-karaf</feature>
        <bundle>mvn:javax.servlet/javax.servlet-api/4.0.1</bundle>
        <!--Added wrap at the end so features before this can startup up while we block on the wrap feature-->
        <feature prerequisite="true">wrap</feature>
    </feature>

    <feature name="sync-installer" version="2.30.0">
        <bundle>mvn:ddf.platform/sync-installer-api/2.30.0</bundle>
        <bundle>mvn:ddf.platform/sync-installer-impl/2.30.0</bundle>
    </feature>

    <feature name="javax-validation" version="2.30.0">
        <bundle>mvn:javax.validation/validation-api/1.1.0.Final</bundle>
    </feature>

    <feature name="joda-converter" version="2.30.0">
        <bundle>mvn:org.joda/joda-convert/1.7</bundle>
    </feature>

    <feature name="javax-inject" version="2.30.0">
        <bundle>
            mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javax-inject/1_3
        </bundle>
    </feature>

    <feature name="slf4j" version="2.30.0">
        <bundle>mvn:org.codice.thirdparty/cal10n-api/0.8.1_1</bundle>
        <bundle>mvn:org.slf4j/slf4j-ext/1.7.32</bundle>
    </feature>

    <feature name="pax-swissbox" version="2.30.0">
        <bundle>
            mvn:org.ops4j.pax.swissbox/pax-swissbox-lifecycle/1.9.0
        </bundle>
        <bundle>mvn:org.ops4j.base/ops4j-base-lang/1.5.1</bundle>
        <bundle>mvn:org.ops4j.pax.swissbox/pax-swissbox-extender/1.9.0
        </bundle>
    </feature>

    <feature name="apache-commons" version="2.30.0">
        <bundle>mvn:commons-io/commons-io/2.21.0</bundle>
        <bundle>mvn:commons-lang/commons-lang/2.6</bundle>
        <bundle>mvn:org.apache.commons/commons-lang3/3.20.0</bundle>
        <bundle>mvn:commons-collections/commons-collections/3.2.2</bundle>
        <bundle>mvn:org.apache.commons/commons-collections4/4.1</bundle>
    </feature>

    <feature name="saxon" version="2.30.0">
        <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlresolver/1.2_5
        </bundle>
        <bundle>
            mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.saxon/9.6.0-4_1
        </bundle>
    </feature>

    <feature name="guava" version="2.30.0">
        <bundle dependency="true">mvn:com.google.guava/failureaccess/1.0.1</bundle>
        <bundle>mvn:com.google.guava/guava/33.4.0-jre</bundle>
    </feature>

    <feature name="dev-failsafe" version="2.30.0">
        <feature prerequisite="true">wrap</feature>
        <bundle>mvn:dev.failsafe/failsafe/3.2.4</bundle>
    </feature>

    <feature name="kernel-all" version="2.30.0">
        <feature>kernel</feature>
        <feature>sync-installer</feature>
        <feature>javax-validation</feature>
        <feature>joda-converter</feature>
        <feature>javax-inject</feature>
        <feature>slf4j</feature>
        <feature>pax-swissbox</feature>
        <feature>apache-commons</feature>
        <feature>saxon</feature>
        <feature>guava</feature>
        <feature>dev-failsafe</feature>
    </feature>
</features>
