<!--
/**
 * 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="test-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>

    <feature name="test-common" version="2.30.1"
             description="Common utilities for testing">
        <feature>guava</feature>
        <feature>sync-installer</feature>
        <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javax-inject/1_3</bundle>
        <bundle>mvn:org.apache.commons/commons-compress/1.28.0</bundle>
        <bundle>mvn:commons-io/commons-io/2.21.0</bundle>
        <bundle>mvn:org.apache.commons/commons-lang3/3.20.0</bundle>
        <bundle>mvn:org.xmlunit/xmlunit-core/2.8.2</bundle>
        <bundle>mvn:org.xmlunit/xmlunit-matchers/2.8.2</bundle>
        <bundle>mvn:ddf.lib/test-common/2.30.1</bundle>
    </feature>

    <feature name="awaitility" version="2.30.1"
             description="Hamcrest bundles for asserting test cases.">
        <bundle>mvn:org.awaitility/awaitility/3.1.6</bundle>
    </feature>

    <feature name="tinybundles" version="2.30.1" description="Dynamically creates bundles" >
        <bundle>mvn:org.ops4j.base/ops4j-base-lang/1.5.1</bundle>
        <bundle>mvn:org.ops4j.base/ops4j-base-monitors/1.5.1</bundle>
        <bundle>mvn:org.ops4j.base/ops4j-base-io/1.5.1</bundle>

        <bundle>mvn:org.ops4j.base/ops4j-base-store/1.5.1</bundle>

        <bundle>mvn:biz.aQute.bnd/biz.aQute.bndlib/6.4.1</bundle>
        <bundle>mvn:biz.aQute.bnd/biz.aQute.bnd.util/6.4.1</bundle>
        <bundle>mvn:org.ops4j.pax.tinybundles/tinybundles/4.0.1</bundle>
    </feature>

    <feature name="rest-assured" version="2.30.1">
        <feature prerequisite="true">wrap</feature>

        <bundle>mvn:org.apache.commons/commons-lang3/3.20.0</bundle>
        <bundle>wrap:mvn:org.ccil.cowan.tagsoup/tagsoup/1.2.1</bundle>
        <bundle>mvn:org.apache.httpcomponents/httpclient-osgi/4.5.13</bundle>
        <bundle>wrap:mvn:org.apache.httpcomponents/httpmime/4.5.13</bundle>
        <bundle>mvn:org.apache.httpcomponents/httpcore-osgi/4.4.15</bundle>
        <bundle>wrap:mvn:jakarta.xml.bind/jakarta.xml.bind-api/2.3.2</bundle>
        <bundle>wrap:mvn:javax.activation/activation/1.1.1</bundle>

        <bundle>mvn:org.codehaus.groovy/groovy-all/2.4.21</bundle>
        <!-- TODO: Would be better to find a groovy 4 bundle that works with rest-assured 5.5.0 -->
        <bundle>mvn:io.rest-assured/rest-assured/3.3.0</bundle>
    </feature>

    <feature name="tink-test-dependencies" version="2.30.1"
      description="Tink dependencies for use within component/integration tests.">
        <feature prerequisite="true">wrap</feature>
        <bundle>mvn:org.json/json/20240303</bundle>
        <bundle>mvn:com.google.protobuf/protobuf-java/4.33.0</bundle>
        <bundle>wrap:mvn:com.google.crypto.tink/tink/1.20.0</bundle>
        <bundle>wrap:mvn:ddf.security.encryption/security-encryption-crypter/2.30.1</bundle>
    </feature>
</features>
