<?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 xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="aries-rsa-${project.version}">

    <feature name="aries-rsa-core" version="${project.version}">
        <feature>scr</feature>
        <feature>eventadmin</feature>
        <bundle>mvn:org.apache.aries.rsa/org.apache.aries.rsa.spi/${project.version}</bundle>
        <bundle>mvn:org.apache.aries.rsa/org.apache.aries.rsa.core/${project.version}</bundle>
        <bundle>mvn:org.apache.aries.rsa/org.apache.aries.rsa.topology-manager/${project.version}</bundle>
        <bundle>mvn:org.apache.aries.rsa.discovery/org.apache.aries.rsa.discovery.command/${project.version}</bundle>
        <bundle>mvn:org.apache.aries.rsa/org.apache.aries.rsa.eapub/${project.version}</bundle>
    </feature>
    
    <feature name="aries-rsa-provider-tcp" version="${project.version}">
        <feature>aries-rsa-core</feature>
        <bundle>mvn:org.apache.aries.rsa.provider/org.apache.aries.rsa.provider.tcp/${project.version}</bundle>
    </feature>

    <feature name="aries-rsa-provider-fastbin" version="${project.version}">
        <feature>aries-rsa-core</feature>
        <bundle>mvn:org.fusesource.hawtdispatch/hawtdispatch/${hawtdispatch.version}</bundle>
        <bundle>mvn:org.fusesource.hawtbuf/hawtbuf/${hawtbuf.version}</bundle>
        <bundle>mvn:org.apache.aries.rsa.provider/org.apache.aries.rsa.provider.fastbin/${project.version}</bundle>
    </feature>

    <feature name="aries-rsa-discovery-local" version="${project.version}">
        <feature>aries-rsa-core</feature>
        <bundle>mvn:org.apache.aries.rsa.discovery/org.apache.aries.rsa.discovery.local/${project.version}</bundle>
    </feature>

    <feature name="aries-rsa-discovery-config" version="${project.version}">
        <feature>aries-rsa-core</feature>
        <bundle>mvn:org.apache.aries.rsa.discovery/org.apache.aries.rsa.discovery.config/${project.version}</bundle>
    </feature>

    <feature name="aries-rsa-discovery-zookeeper" version="${project.version}">
        <feature>aries-rsa-core</feature>
        <bundle>mvn:org.apache.zookeeper/zookeeper/${zookeeper.version}</bundle>
        <bundle>mvn:org.apache.aries.rsa.discovery/org.apache.aries.rsa.discovery.local/${project.version}</bundle>
        <bundle>mvn:org.apache.aries.rsa.discovery/org.apache.aries.rsa.discovery.zookeeper/${project.version}</bundle>
        
        <!-- Create config with defaults from metatype -->
        <config name="org.apache.aries.rsa.discovery.zookeeper">
        </config>
    </feature>
    
    <feature name="aries-rsa-discovery-zookeeper-server" version="${project.version}">
        <feature>aries-rsa-discovery-zookeeper</feature>

        <!-- Create config with defaults from metatype -->
        <config name="org.apache.aries.rsa.discovery.zookeeper.server">
        </config>
        
    </feature>
    

</features>
