<?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-2.19.1" 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="2.19.1" 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="4.1.73.Final" description="Netty libraries">
		<bundle>mvn:io.netty/netty-common/4.1.73.Final</bundle>
		<bundle>mvn:io.netty/netty-resolver/4.1.73.Final</bundle>
		<bundle>mvn:io.netty/netty-transport/4.1.73.Final</bundle>
		<bundle>mvn:io.netty/netty-buffer/4.1.73.Final</bundle>
		<bundle>mvn:io.netty/netty-codec/4.1.73.Final</bundle>
		<bundle>mvn:io.netty/netty-codec-socks/4.1.73.Final</bundle>
		<bundle>mvn:io.netty/netty-codec-http/4.1.73.Final</bundle>
		<bundle>mvn:io.netty/netty-handler/4.1.73.Final</bundle>
		<bundle>mvn:io.netty/netty-handler-proxy/4.1.73.Final</bundle>
		<bundle>mvn:io.netty/netty-tcnative-classes/2.0.46.Final</bundle>
		<bundle>mvn:io.netty/netty-transport-classes-epoll/4.1.73.Final</bundle>
		<bundle>mvn:io.netty/netty-transport-native-epoll/4.1.73.Final</bundle>
		<bundle>mvn:io.netty/netty-transport-classes-kqueue/4.1.73.Final</bundle>
		<bundle>mvn:io.netty/netty-transport-native-kqueue/4.1.73.Final</bundle>
		<bundle>mvn:io.netty/netty-transport-native-unix-common/4.1.73.Final</bundle>
	</feature>

	<feature name="artemis-common" version="2.19.1" description="ActiveMQ Artemis Common libraries">
		<feature>transaction</feature>
		<feature>netty-core</feature>
		<bundle dependency="true">mvn:commons-beanutils/commons-beanutils/1.9.4</bundle>
		<bundle dependency="true">mvn:commons-collections/commons-collections/3.2.2</bundle>

		<bundle dependency="true">mvn:org.jboss.logging/jboss-logging/3.4.2.Final</bundle>
		<bundle dependency="true">mvn:org.jgroups/jgroups/3.6.13.Final</bundle>

		<bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.json-api-1.1/2.9.0</bundle>
		<bundle>mvn:org.apache.johnzon/johnzon-core/0.9.5</bundle>
	</feature>

	<feature name="artemis-core" version="2.19.1" description="ActiveMQ Artemis broker libraries">
		<feature>artemis-common</feature>
		<feature>scr</feature>
		<configfile finalname="etc/org.apache.activemq.artemis.cfg">mvn:org.apache.activemq/artemis-features/2.19.1/cfg</configfile>
		<configfile finalname="etc/artemis.xml">mvn:org.apache.activemq/artemis-features/2.19.1/xml/artemis</configfile>

		<!-- this is here because commons-configuration2 requires the package javax.mail.internet from version 2.7 -->
		<bundle dependency="true">mvn:com.sun.activation/javax.activation/1.2.0</bundle>
		<bundle dependency="true">mvn:jakarta.mail/jakarta.mail-api/1.6.6</bundle>

		<bundle dependency="true">mvn:jakarta.jms/jakarta.jms-api/2.0.3</bundle>
		<bundle dependency="true">mvn:jakarta.transaction/jakarta.transaction-api/1.3.3</bundle>
		<bundle dependency="true">mvn:org.apache.commons/commons-configuration2/2.7</bundle>
		<bundle dependency="true">mvn:org.apache.commons/commons-text/1.8</bundle>
		<bundle dependency="true">mvn:org.apache.commons/commons-lang3/3.12.0</bundle>
		<bundle dependency="true">mvn:org.jctools/jctools-core/2.1.2</bundle>
		<bundle dependency="true">mvn:com.google.guava/failureaccess/1.0.1</bundle>
		<bundle dependency="true">mvn:com.google.guava/guava/30.1-jre</bundle>
		<bundle dependency="true">mvn:org.apache.commons/commons-dbcp2/2.7.0</bundle>
		<bundle dependency="true">mvn:org.apache.commons/commons-pool2/2.7.0</bundle>
		<!-- Micrometer can't be included until it supports OSGi. It is currently an "optional" Maven dependency. -->
		<!--bundle dependency="true">mvn:io.micrometer/micrometer-core/1.6.3</bundle-->

		<bundle>mvn:org.apache.activemq/activemq-artemis-native/1.0.2</bundle>
		<bundle>mvn:org.apache.activemq/artemis-quorum-api/2.19.1</bundle>
		<bundle>mvn:org.apache.activemq/artemis-server-osgi/2.19.1</bundle>
	</feature>

	<feature name="artemis-core-client" version="2.19.1" description="ActiveMQ Artemis Core Client libraries">
		<feature>artemis-common</feature>
		<bundle>mvn:org.apache.activemq/artemis-core-client-osgi/2.19.1</bundle>
	</feature>

	<feature name="artemis-jms-client" version="2.19.1" description="ActiveMQ Artemis JMS Client libraries">
		<feature>artemis-common</feature>
		<bundle dependency="true">mvn:jakarta.jms/jakarta.jms-api/2.0.3</bundle>
		<bundle>mvn:org.apache.activemq/artemis-jms-client-osgi/2.19.1</bundle>
	</feature>

	<feature name="artemis-amqp-client" version="2.19.1" description="ActiveMQ Artemis AMQP Client libraries">
		<feature>transaction</feature>
		<feature>netty-core</feature>
		<bundle dependency="true">mvn:jakarta.jms/jakarta.jms-api/2.0.3</bundle>
		<bundle>mvn:org.apache.qpid/proton-j/0.33.10</bundle>
		<bundle>mvn:org.apache.qpid/qpid-jms-client/0.59.0</bundle>
	</feature>

	<feature name="artemis-amqp" version="2.19.1" description="ActiveMQ Artemis AMQP protocol libraries">
		<feature>artemis-core</feature>
		<bundle>mvn:org.apache.qpid/proton-j/0.33.10</bundle>
		<bundle>mvn:org.apache.qpid/qpid-jms-client/0.59.0</bundle>
		<bundle>mvn:org.apache.activemq/artemis-amqp-protocol/2.19.1</bundle>
	</feature>

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

	<feature name="artemis-mqtt" version="2.19.1" description="ActiveMQ Artemis MQTT protocol libraries">
		<feature>artemis-core</feature>
		<bundle dependency="true">mvn:io.netty/netty-codec-mqtt/4.1.73.Final</bundle>
		<bundle>mvn:org.apache.activemq/artemis-mqtt-protocol/2.19.1</bundle>
	</feature>

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

	<feature name="artemis-openwire" version="2.19.1" description="ActiveMQ Artemis Openwire protocol libraries">
		<feature>artemis-core</feature>
		<bundle dependency="true">mvn:org.fusesource.hawtbuf/hawtbuf/1.11</bundle>
		<bundle>mvn:jakarta.ejb/jakarta.ejb-api/3.2.6</bundle>
		<bundle>mvn:jakarta.management.j2ee/jakarta.management.j2ee-api/1.1.4</bundle>
		<bundle>mvn:org.apache.activemq/artemis-openwire-protocol/2.19.1</bundle>
	</feature>

	<feature name="artemis-openwire-client" version="2.19.1" description="ActiveMQ Artemis Openwire Client libraries">
		<feature>transaction</feature>
		<bundle dependency="true">mvn:org.fusesource.hawtbuf/hawtbuf/1.11</bundle>
		<bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1</bundle>
		<bundle>mvn:jakarta.ejb/jakarta.ejb-api/3.2.6</bundle>
		<bundle>mvn:jakarta.transaction/jakarta.transaction-api/1.3.3</bundle>
		<bundle>mvn:jakarta.management.j2ee/jakarta.management.j2ee-api/1.1.4</bundle>
		<bundle>mvn:org.apache.activemq/activemq-client/5.16.0</bundle>
	</feature>

</features>