<?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 name="artemis-${pom.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">

  <feature name="artemis" version="${pom.version}" description="Full ActiveMQ Artemis broker with default configuration">
    <feature>artemis-core</feature>
    <feature>artemis-amqp</feature>
    <feature>artemis-stomp</feature>
    <feature>artemis-mqtt</feature>
    <feature>artemis-hornetq</feature>
    <feature>artemis-openwire</feature>
  </feature>

	<feature name="netty-core" version="${netty.version}" description="Netty libraries">
		<bundle>mvn:io.netty/netty-common/${netty.version}</bundle>
		<bundle>mvn:io.netty/netty-resolver/${netty.version}</bundle>
		<bundle>mvn:io.netty/netty-transport/${netty.version}</bundle>
		<bundle>mvn:io.netty/netty-buffer/${netty.version}</bundle>
		<bundle>mvn:io.netty/netty-codec/${netty.version}</bundle>
		<bundle>mvn:io.netty/netty-handler/${netty.version}</bundle>
	</feature>

	<feature name="artemis-core" version="${pom.version}" description="ActiveMQ Artemis broker libraries">
		<feature>transaction</feature>
		<feature>netty-core</feature>
		<feature>scr</feature>
		<configfile finalname="etc/org.apache.activemq.artemis.cfg">mvn:org.apache.activemq/artemis-features/${pom.version}/cfg</configfile>
		<configfile finalname="etc/artemis.xml">mvn:org.apache.activemq/artemis-features/${pom.version}/xml/artemis</configfile>

		<bundle>mvn:org.apache.geronimo.specs/geronimo-jms_2.0_spec/${geronimo.jms.2.spec.version}</bundle>
		<bundle>mvn:com.google.guava/guava/${guava.version}</bundle>
		<bundle>mvn:io.netty/netty-codec-http/${netty.version}</bundle>
		<bundle>mvn:commons-beanutils/commons-beanutils/${commons.beanutils.version}</bundle>
		<bundle>mvn:commons-collections/commons-collections/${commons.collections.version}</bundle>

		<bundle>mvn:org.jboss.logging/jboss-logging/${jboss.logging.version}</bundle>
		<bundle>mvn:org.jgroups/jgroups/${jgroups.version}</bundle>

		<bundle>mvn:org.apache.geronimo.specs/geronimo-json_1.0_spec/${json-p.spec.version}</bundle>
		<bundle>mvn:org.apache.johnzon/johnzon-core/${johnzon.version}</bundle>

		<bundle>mvn:org.apache.activemq/artemis-native/${pom.version}</bundle>
		<bundle>mvn:org.apache.activemq/artemis-server-osgi/${pom.version}</bundle>
	</feature>

	<feature name="artemis-amqp" version="${pom.version}" description="ActiveMQ Artemis AMQP protocol libraries">
		<feature prerequisite="true">wrap</feature>
		<feature>artemis-core</feature>
		<bundle>wrap:mvn:org.apache.qpid/proton-j/${proton.version}</bundle>
		<bundle>wrap:mvn:org.apache.qpid/qpid-jms-client/${qpid.jms.version}</bundle>
		<bundle>mvn:org.apache.activemq/artemis-amqp-protocol/${pom.version}</bundle>
	</feature>

	<feature name="artemis-stomp" version="${pom.version}" description="ActiveMQ Artemis Stomp protocol libraries">
		<feature>artemis-core</feature>
		<bundle>mvn:org.apache.activemq/artemis-stomp-protocol/${pom.version}</bundle>
	</feature>

	<feature name="artemis-mqtt" version="${pom.version}" description="ActiveMQ Artemis MQTT protocol libraries">
		<feature>artemis-core</feature>
		<bundle>mvn:io.netty/netty-codec-mqtt/${netty.version}</bundle>
		<bundle>mvn:org.apache.activemq/artemis-mqtt-protocol/${pom.version}</bundle>
	</feature>

	<feature name="artemis-hornetq" version="${pom.version}" description="ActiveMQ Artemis HornetQ protocol libraries">
		<feature>artemis-core</feature>
		<bundle>mvn:org.apache.activemq/artemis-hqclient-protocol/${pom.version}</bundle>
		<bundle>mvn:org.apache.activemq/artemis-hornetq-protocol/${pom.version}</bundle>
	</feature>

	<feature name="artemis-openwire" version="${pom.version}" description="ActiveMQ Artemis HornetQ protocol libraries">
		<feature>artemis-core</feature>
		<bundle>mvn:org.fusesource.hawtbuf/hawtbuf/1.11</bundle>
		<bundle>mvn:org.apache.geronimo.specs/geronimo-j2ee-management_1.1_spec/1.0.1</bundle>
		<bundle>mvn:org.apache.activemq/artemis-openwire-protocol/${pom.version}</bundle>
	</feature>

</features>