<?xml version="1.0" encoding="UTF-8" ?>
<!--
/**
 * Licensed 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="aries-cdi"
          xmlns="http://karaf.apache.org/xmlns/features/v1.4.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.4.0">

  <feature name="spifly" version="1.3.2">
    <bundle dependency="true">mvn:org.ow2.asm/asm/9.0</bundle>
    <bundle dependency="true">mvn:org.ow2.asm/asm-util/9.0</bundle>
    <bundle dependency="true">mvn:org.ow2.asm/asm-tree/9.0</bundle>
    <bundle dependency="true">mvn:org.ow2.asm/asm-analysis/9.0</bundle>
    <bundle dependency="true">mvn:org.ow2.asm/asm-commons/9.0</bundle>
    <bundle>mvn:org.apache.aries.spifly/org.apache.aries.spifly.dynamic.bundle/1.3.2</bundle>
  </feature>

  <feature name="javax.annotation" version="1.3">
    <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.annotation-api-1.3/1.3_3</bundle>
  </feature>

  <feature name="cdi-spec" version="2.0">
    <feature prerequisite="true">spifly</feature>
    <feature>javax.annotation</feature>
    <bundle>mvn:org.apache.geronimo.specs/geronimo-atinject_1.0_spec/1.2</bundle>
    <bundle>mvn:org.apache.geronimo.specs/geronimo-interceptor_1.2_spec/1.2</bundle>
    <bundle>mvn:org.apache.geronimo.specs/geronimo-el_2.2_spec/1.1</bundle>
    <bundle>mvn:org.apache.geronimo.specs/geronimo-jcdi_2.0_spec/1.2</bundle>
  </feature>

  <feature name="osgi-namespace" version="1.0.0">
    <bundle>mvn:org.osgi/org.osgi.namespace.service/1.0.0</bundle>
    <bundle>mvn:org.osgi/org.osgi.namespace.implementation/1.0.0</bundle>
    <bundle>mvn:org.osgi/org.osgi.namespace.extender/1.0.1</bundle>
  </feature>

  <feature name="osgi-util" version="1.1.0">
    <bundle dependency="true">mvn:org.osgi/org.osgi.util.function/1.1.0</bundle>
    <bundle dependency="true">mvn:org.osgi/org.osgi.util.promise/1.1.0</bundle>
  </feature>

  <feature name="osgi-cdi" version="1.0.0">
    <feature>cdi-spec</feature>
    <feature>osgi-namespace</feature>
    <feature>osgi-util</feature>
    <bundle>mvn:org.osgi/org.osgi.service.cdi/1.0.0</bundle>
  </feature>

  <feature name="osgi-cdi-owb" version="${project.version}">
    <feature>osgi-cdi</feature>
    <bundle>mvn:org.apache.xbean/xbean-bundleutils/4.17</bundle>
    <bundle>mvn:org.apache.xbean/xbean-asm8-shaded/4.17</bundle>
    <bundle>mvn:org.apache.xbean/xbean-finder-shaded/4.17</bundle>
    <bundle>mvn:org.apache.openwebbeans/openwebbeans-spi/2.0.17</bundle>
    <bundle>mvn:org.apache.openwebbeans/openwebbeans-impl/2.0.17</bundle>
    <bundle>mvn:org.apache.felix/org.apache.felix.converter/1.0.12</bundle>
    <bundle>mvn:org.apache.aries.cdi/org.apache.aries.cdi.spi/${project.version}</bundle>
    <bundle>mvn:org.apache.aries.cdi/org.apache.aries.cdi.owb/${project.version}</bundle>
    <bundle start="true">mvn:org.apache.aries.cdi/org.apache.aries.cdi.extension.spi/${project.version}</bundle>
    <bundle start="true">mvn:org.apache.aries.cdi/org.apache.aries.cdi.extender/${project.version}</bundle>
  </feature>

  <feature name="osgi-cdi-owb-web" version="${project.version}">
    <bundle>mvn:org.apache.openwebbeans/openwebbeans-web/2.0.17</bundle>
    <bundle>mvn:org.apache.openwebbeans/openwebbeans-el22/2.0.17</bundle>
    <bundle>mvn:org.apache.aries.cdi/org.apache.aries.cdi.extra/${project.version}</bundle>
  </feature>


</features>
