<?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="karaf-cellar-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.3.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.3.0 http://karaf.apache.org/xmlns/features/v1.3.0">

    <repository>mvn:org.apache.jclouds.karaf/jclouds-karaf/${jclouds.version}/xml/features</repository>
    <repository>mvn:io.fabric8.kubernetes/kubernetes-karaf/${fabric8.kubernetes-client.version}/xml/features</repository>
    
    <feature name="cellar-core" description="Karaf clustering core" version="${project.version}">
        <feature>aries-proxy</feature>
        <feature>shell</feature>
        <configfile finalname="${karaf.etc}/org.apache.karaf.cellar.groups.cfg">mvn:org.apache.karaf.cellar/apache-karaf-cellar/${project.version}/cfg/groups</configfile>
        <configfile finalname="${karaf.etc}/org.apache.karaf.cellar.node.cfg">mvn:org.apache.karaf.cellar/apache-karaf-cellar/${project.version}/cfg/node</configfile>
        <bundle>mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.core/${project.version}</bundle>
    </feature>

    <feature name="hazelcast" description="In memory data grid" version="${hazelcast.version}">
        <configfile finalname="${karaf.etc}/hazelcast.xml">mvn:org.apache.karaf.cellar/apache-karaf-cellar/${project.version}/xml/hazelcast</configfile>
        <feature>transaction</feature>
        <bundle>mvn:javax.cache/cache-api/1.1.0</bundle>
        <bundle>mvn:com.eclipsesource.minimal-json/minimal-json/0.9.2</bundle>
        <bundle>mvn:com.hazelcast/hazelcast-all/${hazelcast.version}</bundle>
    </feature>

    <feature name="cellar-hazelcast" description="Cellar implementation based on Hazelcast" version="${project.version}">
        <feature version="${hazelcast.version}">hazelcast</feature>
        <feature version="${project.version}">cellar-core</feature>
        <bundle>mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.hazelcast/${project.version}</bundle>
        <bundle>mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.utils/${project.version}</bundle>
        <capability>
            karaf.cellar.provider;provider:=hazelcast
        </capability>
    </feature>

    <feature name="cellar-config" description="ConfigAdmin cluster support" version="${project.version}">
        <conditional>
            <condition>config</condition>
            <feature dependency="true">cellar-hazelcast</feature>
            <bundle>mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.config/${project.version}</bundle>
        </conditional>
    </feature>

    <feature name="cellar-features" description="Karaf features cluster support" version="${project.version}">
        <conditional>
            <condition>feature</condition>
            <feature dependency="true">cellar-hazelcast</feature>
            <bundle>mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.features/${project.version}</bundle>
        </conditional>
    </feature>

    <feature name="cellar-kar" description="Karaf kar cluster support" version="${project.version}">
        <conditional>
            <condition>kar</condition>
            <feature dependency="true">cellar-hazelcast</feature>
            <bundle>mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.kar/${project.version}</bundle>
        </conditional>
    </feature>

    <feature name="cellar-bundle" description="Bundle cluster support" version="${project.version}">
        <conditional>
            <condition>bundle</condition>
            <feature dependency="true">cellar-hazelcast</feature>
            <bundle>mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.bundle/${project.version}</bundle>
        </conditional>
    </feature>

    <feature name="cellar-shell" description="Cellar shell support" version="${project.version}">
        <conditional>
            <condition>shell</condition>
            <feature dependency="true">cellar-hazelcast</feature>
            <bundle>mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.shell/${project.version}</bundle>
        </conditional>
    </feature>

    <feature name="cellar" description="Karaf clustering" version="${project.version}">
        <feature dependency="true">cellar-hazelcast</feature>
        <feature>cellar-shell</feature>
        <feature>cellar-config</feature>
        <feature>cellar-bundle</feature>
        <feature>cellar-features</feature>
        <feature>cellar-kar</feature>
        <requirement>
            karaf.cellar.provider
        </requirement>
    </feature>

    <feature name="cellar-dosgi" description="DOSGi support" version="${project.version}">
        <feature dependency="true">cellar-hazelcast</feature>
        <bundle start-level="40">mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.dosgi/${project.version}</bundle>
    </feature>

    <feature name="cellar-obr" description="OBR cluster support" version="${project.version}">
        <conditional>
            <condition>obr</condition>
            <feature dependency="true">cellar-hazelcast</feature>
            <bundle>mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.obr/${project.version}</bundle>
        </conditional>
    </feature>

    <feature name="cellar-eventadmin" description="OSGi events broadcasting in clusters" version="${project.version}">
        <conditional>
            <condition>eventadmin</condition>
            <feature dependency="true">cellar-hazelcast</feature>
            <bundle>mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.event/${project.version}</bundle>
        </conditional>
    </feature>

    <feature name="cellar-cloud" description="Cloud blobstore support in clusters" version="${project.version}">
        <feature dependency="true">cellar-hazelcast</feature>
        <feature version="${jclouds.version}">jclouds</feature>
        <!-- Adding S3 as the default Blobstore -->
        <feature>jclouds-aws-s3</feature>
        <bundle>mvn:joda-time/joda-time/${joda-time.version}</bundle>
        <bundle>mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.cloud/${project.version}</bundle>
    </feature>

    <feature name="cellar-kubernetes" description="Cellar Kubernetes support" version="${project.version}">
        <feature>cellar-core</feature>
        <feature>kubernetes-client</feature>
        <bundle>mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.kubernetes/${project.version}</bundle>
    </feature>

    <feature name="cellar-dns" description="Cellar DNS support" version="${project.version}">
        <feature>cellar-core</feature>
        <bundle>mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.dns/${project.version}</bundle>
    </feature>

    <feature name="cellar-etcd" description="Cellar Etcd discovery support" version="${project.version}">
        <feature>cellar-core</feature>
        <bundle>mvn:com.netflix.feign/feign-core/${netflix.feign.version}</bundle>
        <bundle>mvn:com.netflix.feign/feign-slf4j/${netflix.feign.version}</bundle>
        <bundle>mvn:com.netflix.feign/feign-gson/${netflix.feign.version}</bundle>
        <bundle>mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.etcd/${project.version}</bundle>
    </feature>

    <feature name="cellar-webconsole" description="Cellar plugin for Karaf WebConsole" version="${project.version}">
        <conditional>
            <condition>webconsole</condition>
            <feature dependency="true">cellar-hazelcast</feature>
            <bundle>mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.webconsole/${project.version}</bundle>
        </conditional>
    </feature>

    <feature name="cellar-http-balancer" description="Cellar HTTP request balancer" version="${project.version}">
        <feature dependency="true">cellar-hazelcast</feature>
        <feature>http</feature>
        <feature>http-whiteboard</feature>
        <bundle>mvn:org.apache.karaf.cellar.http/org.apache.karaf.cellar.http.balancer/${project.version}</bundle>
    </feature>

    <feature name="cellar-log" description="Cellar central log support" version="${project.version}">
        <conditional>
            <condition>log</condition>
            <feature dependency="true">cellar-hazelcast</feature>
            <bundle>mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.log/${project.version}</bundle>
        </conditional>
    </feature>

    <feature name="cellar-documentation" description="Documentation of Karaf Cellar sub-project in HTML" version="${project.version}">
        <feature>war</feature>
        <bundle>mvn:org.apache.karaf.cellar/manual/${project.version}</bundle>
    </feature>

</features>
