<!--
/**
 * 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="utilities-2.30.1"
          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:ddf.features/kernel/2.30.1/xml/features</repository>
    <repository>mvn:org.apache.karaf.features/spring/4.4.10/xml/features</repository>

    <feature name="platform-util" version="2.30.1"
             description="Platform Utilities">
        <feature>dev-failsafe</feature>
        <feature>common-system</feature>
        <feature version="6.1.21_1">spring</feature>
        <feature>guava</feature>
        <bundle>mvn:ddf.platform.util/platform-util/2.30.1</bundle>
    </feature>

    <feature name="util-uuidgenerator-api" version="2.30.1"
             description="UUID Generator API">
        <bundle>mvn:ddf.platform.util/util-uuidgenerator-api/2.30.1</bundle>
    </feature>

    <feature name="util-uuidgenerator" version="2.30.1"
             description="A UUID generator service">
        <feature>util-uuidgenerator-api</feature>
        <bundle>mvn:org.apache.commons/commons-lang3/3.20.0</bundle>
        <bundle>mvn:ddf.platform.util/util-uuidgenerator-impl/2.30.1</bundle>
    </feature>

    <feature name="parser-xml" version="2.30.1"
             description="Platform JAXB support.">
        <feature>guava</feature>
        <bundle>mvn:commons-lang/commons-lang/2.6</bundle>
        <bundle>mvn:ddf.platform/platform-parser-api/2.30.1</bundle>
        <bundle>mvn:ddf.platform/platform-parser-xml/2.30.1</bundle>
    </feature>

    <feature name="action-core-api" version="2.30.1"
             description="Action API">
        <bundle>mvn:ddf.action.core/action-core-api/2.30.1</bundle>
    </feature>

    <feature name="action-core-impl" version="2.30.1"
             description="Action Core">
        <feature>action-core-api</feature>
        <bundle>mvn:ddf.action.core/action-core-impl/2.30.1</bundle>
    </feature>

    <feature name="error-api" version="2.30.1"
             description="Platform error handler API.">
        <feature>pax-web-jetty</feature>
        <bundle>mvn:com.google.code.gson/gson/2.13.2</bundle>
        <bundle>mvn:ddf.platform.error/platform-error-api/2.30.1</bundle>
        <bundle>mvn:ddf.platform.error/platform-error-servlet/2.30.1</bundle>
    </feature>

    <feature name="error-impl" version="2.30.1"
             description="Platform error handler">
        <feature>error-api</feature>
        <bundle>mvn:ddf.platform.error/platform-error-impl/2.30.1</bundle>
    </feature>

    <feature name="mime-core-api" version="2.30.1"
             description="MIME API">
        <bundle>mvn:ddf.mime.core/mime-core-api/2.30.1</bundle>
    </feature>

    <feature name="mime-core" version="2.30.1"
             description="MIME Core">
        <feature>mime-core-api</feature>
        <feature>guava</feature>
        <feature version="6.1.21_1">spring</feature>
        <feature>common-system</feature>
        <feature>slf4j</feature>
        <feature>platform-util</feature>
        <feature dependency="true">tika</feature>
        <bundle>mvn:commons-io/commons-io/2.21.0</bundle>
        <bundle>mvn:ddf.mime.core/mime-core-impl/2.30.1</bundle>
        <bundle>mvn:ddf.mime.core/mime-core-configurableresolver/2.30.1</bundle>
        <configfile finalname="${ddf.etc}/DDF_Custom_Mime_Type_Resolver-csw.config">
            mvn:ddf.mime.core/mime-core-configurableresolver/2.30.1/config/default-mimetype-csw
        </configfile>
        <configfile finalname="${ddf.etc}/DDF_Custom_Mime_Type_Resolver-geojson.config">
            mvn:ddf.mime.core/mime-core-configurableresolver/2.30.1/config/default-mimetype-geojson
        </configfile>
        <configfile finalname="${ddf.etc}/DDF_Custom_Mime_Type_Resolver-nitf.config">
            mvn:ddf.mime.core/mime-core-configurableresolver/2.30.1/config/default-mimetype-nitf
        </configfile>
        <configfile finalname="${ddf.etc}/DDF_Custom_Mime_Type_Resolver-xml.config">
            mvn:ddf.mime.core/mime-core-configurableresolver/2.30.1/config/default-mimetype-xml
        </configfile>
        <configfile finalname="${ddf.etc}/DDF_Custom_Mime_Type_Resolver-csv.config">
            mvn:ddf.mime.core/mime-core-configurableresolver/2.30.1/config/default-mimetype-csv
        </configfile>
    </feature>

    <feature name="mime-tika-resolver" version="2.30.1"
             description="Tika MIME Resolver">
        <feature>mime-core-api</feature>
        <feature>slf4j</feature>
        <feature>tika</feature>
        <bundle>mvn:commons-lang/commons-lang/2.6</bundle>
        <bundle>mvn:ddf.mime.tika/mime-tika-resolver/2.30.1</bundle>
    </feature>

    <feature name="common-system" version="2.30.1"
             description="common system">
        <feature>apache-commons</feature>
        <bundle dependency="true">mvn:ddf.platform.security/log-sanitizer/2.30.1</bundle>
        <bundle>mvn:ddf.lib/common-system/2.30.1</bundle>
    </feature>

    <feature name="bootflag-api" version="2.30.1"
             description="API for registering services to indicate a boot condition in the system has been met.">
        <bundle>mvn:ddf.platform/bootflag-api/2.30.1</bundle>
    </feature>

    <feature name="metrics-micrometer" version="2.30.1" description="Micrometer core">
        <bundle>mvn:org.codice.ddf.metrics/micrometer-bundle/2.30.1</bundle>
    </feature>

    <feature name="metrics-prometheus" version="2.30.1" description="Metrics Endpoint">
        <feature>metrics-micrometer</feature>
        <bundle>mvn:io.prometheus/simpleclient/0.12.0</bundle>
        <bundle>mvn:io.prometheus/simpleclient_common/0.12.0</bundle>
        <bundle>mvn:io.prometheus/simpleclient_tracer_otel_agent/0.12.0</bundle>
        <bundle>mvn:io.prometheus/simpleclient_tracer_otel/0.12.0</bundle>
        <bundle>mvn:io.prometheus/simpleclient_tracer_common/0.12.0</bundle>
        <bundle>mvn:org.codice.ddf.metrics/micrometer-prometheus-bundle/2.30.1</bundle>
        <bundle>mvn:org.codice.ddf.metrics/opentelemetry-api-bundle/2.30.1</bundle>
        <bundle>mvn:org.codice.ddf.metrics/metrics-prometheus-endpoint/2.30.1</bundle>
    </feature>

    <feature name="metrics-servlet-filter" version="2.30.1" description="Servlet metrics reporter">
        <feature>pax-web-jetty</feature>
        <feature>metrics-micrometer</feature>
        <bundle dependency="true">mvn:ddf.platform/http-filter-api/2.30.1</bundle>
        <bundle>mvn:org.codice.ddf.metrics/metrics-servlet-filter/2.30.1</bundle>
    </feature>

    <feature name="metrics-system-reporter" version="2.30.1" description="System and JVM metrics reporter">
        <feature>metrics-micrometer</feature>
        <bundle>mvn:org.codice.ddf.metrics/metrics-system-reporter/2.30.1</bundle>
    </feature>

    <feature name="metrics-core" version="2.30.1" description="Core metric support">
        <feature>metrics-micrometer</feature>
        <feature>metrics-prometheus</feature>
        <feature>metrics-servlet-filter</feature>
        <feature>metrics-system-reporter</feature>
    </feature>

    <!-- Start of app features -->

    <repository>mvn:org.apache.cxf.karaf/apache-cxf/3.6.10/xml/features</repository>

    <feature name="platform-api" version="2.30.1"
             description="Top Level Platform API">
        <bundle>mvn:ddf.platform.api/platform-api/2.30.1</bundle>
    </feature>

    <feature name="platform-usng4j" version="2.30.1"
             description="Service to convert coordinates between various coordinate systems.">
        <bundle>mvn:ddf.platform.usng4j/platform-usng4j-api/2.30.1</bundle>
        <bundle>mvn:ddf.platform.usng4j/platform-usng4j-impl/2.30.1</bundle>
    </feature>

    <feature name="platform-logging" version="2.30.1"
             description="platform-logging">
        <feature>guava</feature>
        <feature>javax-validation</feature>
        <bundle>mvn:commons-lang/commons-lang/2.6</bundle>
        <bundle>mvn:ddf.platform/platform-logging/2.30.1</bundle>
    </feature>

    <feature name="tika" version="2.30.1"
             description="Provides Tika as a bundle.">
        <feature prerequisite="true">wrap</feature>
        <feature>jackson</feature>
        <bundle>mvn:com.github.luben/zstd-jni/1.5.5-2</bundle>
        <bundle>wrap:mvn:net.sf.jwordnet/jwnl/1.3.3</bundle>
        <bundle>mvn:ddf.thirdparty/tika/2.30.1</bundle>
    </feature>

    <feature name="io" version="2.30.1" description="I/O Utilities">
        <bundle>mvn:commons-lang/commons-lang/2.6</bundle>
        <bundle>mvn:ddf.platform.io/platform-io-internal-api/2.30.1</bundle>
        <bundle>mvn:ddf.platform.io/platform-io-impl/2.30.1</bundle>
    </feature>

    <feature name="jackson" version="2.30.1">
        <bundle>mvn:com.fasterxml.jackson.core/jackson-core/2.21.1</bundle>
        <bundle>mvn:com.fasterxml.jackson.core/jackson-annotations/2.21</bundle>
        <bundle>mvn:com.fasterxml.jackson.core/jackson-databind/2.21.1</bundle>
        <bundle>mvn:com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.21.1</bundle>
    </feature>

    <feature name="poi" version="2.30.1">
        <feature dependency="true">apache-commons</feature>
        <feature dependency="true">tika</feature>
        <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.9.1-6_1</bundle>
        <bundle>mvn:commons-io/commons-io/2.21.0</bundle>
        <bundle>mvn:org.apache.commons/commons-math3/3.6.1</bundle>
        <bundle>mvn:org.apache.commons/commons-compress/1.28.0</bundle>
        <bundle>wrap:mvn:org.apache.xmlgraphics/batik-all/1.17</bundle>
        <bundle>wrap:mvn:xml-apis/xml-apis-ext/1.3.04</bundle>
        <bundle>mvn:org.apache.santuario/xmlsec/2.3.1</bundle>
        <bundle>wrap:mvn:org.apache.xmlgraphics/xmlgraphics-commons/2.7</bundle>
        <bundle>wrap:mvn:org.apache.xmlbeans/xmlbeans/5.3.0</bundle>
        <bundle>mvn:org.apache.pdfbox/pdfbox/3.0.5</bundle>
        <bundle>mvn:org.apache.pdfbox/fontbox/3.0.5</bundle>
        <bundle>mvn:org.apache.pdfbox/pdfbox-io/3.0.5</bundle>
        <bundle>wrap:mvn:org.apache.pdfbox/pdfbox-tools/3.0.5</bundle>
        <bundle>wrap:mvn:de.rototor.pdfbox/graphics2d/0.38</bundle>
        <bundle>wrap:mvn:org.apache.poi/poi/5.4.1</bundle>
        <bundle>wrap:mvn:org.apache.poi/poi-ooxml/5.4.1</bundle>
        <bundle>wrap:mvn:org.apache.poi/poi-ooxml-full/5.4.1</bundle>
        <bundle>wrap:mvn:org.apache.poi/poi-scratchpad/5.4.1</bundle>
    </feature>

    <feature name="jts" version="2.30.1">
        <bundle>mvn:org.locationtech.jts/jts-core/1.20.0</bundle>
        <bundle>wrap:mvn:org.locationtech.jts.io/jts-io-common/1.20.0$Bundle-Name=jts-io-common&amp;Bundle-SymbolicName=jts-io-common</bundle>
        <bundle>mvn:com.googlecode.json-simple/json-simple/1.1.1</bundle>
    </feature>

    <feature name="geotools" version="2.30.1">
        <feature>javax-inject</feature>
        <bundle>wrap:mvn:org.geotools/gt-api/33.1$Bundle-Name=gt-api&amp;Bundle-SymbolicName=gt-api</bundle>
        <bundle>wrap:mvn:org.geotools/gt-main/33.1$Bundle-Name=gt-main&amp;Bundle-SymbolicName=gt-main</bundle>
        <bundle>wrap:mvn:org.geotools/gt-cql/33.1$Bundle-Name=gt-cql&amp;Bundle-SymbolicName=gt-cql</bundle>
        <bundle>wrap:mvn:org.geotools/gt-xml/33.1$Bundle-Name=gt-xml&amp;Bundle-SymbolicName=gt-xml</bundle>
        <bundle>wrap:mvn:org.picocontainer/picocontainer/1.2$Bundle-Name=picocontainer&amp;Bundle-SymbolicName=picocontainer</bundle>
        <bundle>mvn:ddf.thirdparty/eclipse-emf/2.30.1</bundle>
        <bundle>wrap:mvn:org.geotools.xsd/gt-xsd-core/33.1$Bundle-Name=gt-xsd-core&amp;Bundle-SymbolicName=gt-xsd-core</bundle>
        <bundle>wrap:mvn:org.geotools.xsd/gt-xsd-gml2/33.1$Bundle-Name=gt-xsd-gml2&amp;Bundle-SymbolicName=gt-xsd-gml2</bundle>
        <bundle>wrap:mvn:org.geotools.xsd/gt-xsd-gml3/33.1$Bundle-Name=gt-xsd-gml3&amp;Bundle-SymbolicName=gt-xsd-gml3</bundle>
        <bundle>wrap:mvn:org.geotools.xsd/gt-xsd-filter/33.1$Bundle-Name=gt-xsd-filter&amp;Bundle-SymbolicName=gt-xsd-filter</bundle>
        <bundle>wrap:mvn:org.geotools.xsd/gt-xsd-fes/33.1$Bundle-Name=gt-xsd-fes&amp;Bundle-SymbolicName=gt-xsd-fes</bundle>
        <bundle>wrap:mvn:org.geotools/gt-wfs-ng/33.1$Bundle-Name=gt-wfs-ng&amp;Bundle-SymbolicName=gt-wfs-ng</bundle>
        <bundle>wrap:mvn:org.geotools/gt-epsg-hsql/33.1$Bundle-Name=gt-epsg-hsql&amp;Bundle-SymbolicName=gt-epsg-hsql</bundle>
        <bundle>wrap:mvn:org.geotools/gt-epsg-extension/33.1$Bundle-Name=gt-epsg-extension&amp;Bundle-SymbolicName=gt-epsg-extension</bundle>
        <bundle>wrap:mvn:org.geotools/gt-referencing/33.1$Bundle-Name=gt-referencing&amp;Bundle-SymbolicName=gt-referencing</bundle>
        <bundle>wrap:mvn:org.geotools/gt-metadata/33.1$Bundle-Name=gt-metadata&amp;Bundle-SymbolicName=gt-metadata&amp;DynamicImport-Package=*</bundle>
        <bundle>wrap:mvn:org.geotools/gt-geojson/33.1$Bundle-Name=gt-geojson&amp;Bundle-SymbolicName=gt-geojson</bundle>
        <bundle>wrap:mvn:org.geotools/gt-shapefile/33.1$Bundle-Name=gt-shapefile&amp;Bundle-SymbolicName=gt-shapefile</bundle>
        <bundle>mvn:commons-collections/commons-collections/3.2.2</bundle>
        <bundle>mvn:tech.units/indriya/2.0.2</bundle>
        <bundle>mvn:tech.uom.lib/uom-lib-common/2.1</bundle>
        <bundle>mvn:si.uom/si-quantity/2.0.1</bundle>
        <bundle>wrap:mvn:si.uom/si-units/2.0.1$overwrite=merge&amp;Bundle-Name=si-units&amp;Bundle-SymbolicName=si-units&amp;Bundle-Version=2.0.1&amp;Export-Package=*</bundle>
        <bundle>mvn:systems.uom/systems-quantity/2.0.1</bundle>
        <bundle>wrap:mvn:systems.uom/systems-common/2.0.2$overwrite=merge&amp;Bundle-Name=systems-common&amp;Bundle-SymbolicName=systems-common&amp;Bundle-Version=2.0.1&amp;Export-Package=*</bundle>
        <bundle>mvn:javax.measure/unit-api/2.2</bundle>
        <bundle>wrap:mvn:org.hsqldb/hsqldb/2.7.2/jar/jdk8</bundle>
        <bundle>wrap:mvn:org.ejml/ejml-core/0.41</bundle>
        <bundle>wrap:mvn:org.ejml/ejml-ddense/0.41</bundle>
    </feature>

    <feature name="utilities-all" version="2.30.1">
        <feature>util-uuidgenerator</feature>
        <feature>parser-xml</feature>
        <feature>action-core-impl</feature>
        <feature>error-impl</feature>
        <feature>mime-core</feature>
        <feature>mime-tika-resolver</feature>
        <feature>bootflag-api</feature>
        <feature>metrics-core</feature>
        <feature>platform-api</feature>
        <feature>platform-usng4j</feature>
        <feature>platform-logging</feature>
        <feature>tika</feature>
        <feature>io</feature>
        <feature>poi</feature>
        <feature>jts</feature>
        <feature>geotools</feature>
    </feature>

</features>
