<?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.50.0" 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.50.0" description="Full Apache 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.130.Final" description="Netty libraries">
		<bundle>mvn:io.netty/netty-common/4.1.130.Final</bundle>
		<bundle>mvn:io.netty/netty-resolver/4.1.130.Final</bundle>
		<bundle>mvn:io.netty/netty-transport/4.1.130.Final</bundle>
		<bundle>mvn:io.netty/netty-buffer/4.1.130.Final</bundle>
		<bundle>mvn:io.netty/netty-codec/4.1.130.Final</bundle>
		<bundle>mvn:io.netty/netty-codec-socks/4.1.130.Final</bundle>
		<bundle>mvn:io.netty/netty-codec-haproxy/4.1.130.Final</bundle>
		<bundle>mvn:io.netty/netty-codec-http/4.1.130.Final</bundle>
		<bundle>mvn:io.netty/netty-handler/4.1.130.Final</bundle>
		<bundle>mvn:io.netty/netty-handler-proxy/4.1.130.Final</bundle>
		<bundle>mvn:io.netty/netty-tcnative-classes/2.0.74.Final</bundle>
		<bundle>mvn:io.netty/netty-transport-classes-epoll/4.1.130.Final</bundle>
		<bundle>mvn:io.netty/netty-transport-native-epoll/4.1.130.Final</bundle>
		<bundle>mvn:io.netty/netty-transport-classes-kqueue/4.1.130.Final</bundle>
		<bundle>mvn:io.netty/netty-transport-native-kqueue/4.1.130.Final</bundle>
		<bundle>mvn:io.netty/netty-transport-native-unix-common/4.1.130.Final</bundle>
	</feature>

	<feature name="artemis-common" version="2.50.0" description="Apache Artemis Common libraries">
		<feature prerequisite="true">wrap</feature>
		<feature>transaction</feature>
		<feature>netty-core</feature>
		<bundle dependency="true">mvn:commons-beanutils/commons-beanutils/1.11.0</bundle>
		<bundle dependency="true">mvn:commons-collections/commons-collections/3.2.2</bundle>

		<bundle dependency="true">wrap:mvn:org.jgroups/jgroups/5.3.13.Final$Import-Package=org.jboss.byteman.*;resolution:=&quot;optional&quot;</bundle>
	</feature>

	<feature name="artemis-core" version="2.50.0" description="Apache Artemis broker libraries">
		<feature>artemis-common</feature>
		<feature>scr</feature>
		<configfile finalname="etc/org.apache.activemq.artemis.cfg">mvn:org.apache.artemis/artemis-features/2.50.0/cfg</configfile>
		<configfile finalname="etc/artemis.xml">mvn:org.apache.artemis/artemis-features/2.50.0/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.13.0</bundle>
		<bundle dependency="true">mvn:org.apache.commons/commons-text/1.15.0</bundle>
		<bundle dependency="true">mvn:org.apache.commons/commons-lang3/3.20.0</bundle>
		<bundle dependency="true">mvn:org.jctools/jctools-core/4.0.5</bundle>
		<bundle dependency="true">mvn:org.hdrhistogram/HdrHistogram/2.2.2</bundle>
		<bundle dependency="true">mvn:com.github.ben-manes.caffeine/caffeine/3.2.3</bundle>
		<bundle dependency="true">mvn:org.apache.commons/commons-dbcp2/2.14.0</bundle>
		<bundle dependency="true">mvn:org.apache.commons/commons-pool2/2.13.1</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.16.2</bundle-->

		<bundle>mvn:org.apache.activemq/activemq-artemis-native/2.0.0</bundle>
		<bundle>mvn:org.apache.artemis/artemis-lockmanager-api/2.50.0</bundle>
		<bundle>mvn:org.apache.artemis/artemis-server-osgi/2.50.0</bundle>
	</feature>

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

	<feature name="artemis-jms-client" version="2.50.0" description="Apache 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.artemis/artemis-jms-client-osgi/2.50.0</bundle>
	</feature>

	<feature name="artemis-jakarta-client" version="2.50.0" description="Apache Artemis Jakarta Messaging Client libraries">
		<feature>artemis-common</feature>
		<bundle dependency="true">mvn:jakarta.jms/jakarta.jms-api/3.1.0</bundle>
		<bundle>mvn:org.apache.artemis/artemis-jakarta-client-osgi/2.50.0</bundle>
	</feature>

	<feature name="artemis-amqp-client" version="2.50.0" description="Apache 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.34.1</bundle>
		<bundle>mvn:org.apache.qpid/qpid-jms-client/1.15.0</bundle>
	</feature>

	<feature name="artemis-amqp" version="2.50.0" description="Apache Artemis AMQP protocol libraries">
		<feature>artemis-core</feature>
		<bundle>mvn:org.apache.qpid/proton-j/0.34.1</bundle>
		<bundle>mvn:org.apache.qpid/qpid-jms-client/1.15.0</bundle>
		<bundle>mvn:org.apache.artemis/artemis-amqp-protocol/2.50.0</bundle>
	</feature>

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

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

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

	<feature name="artemis-openwire" version="2.50.0" description="Apache 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.artemis/artemis-openwire-protocol/2.50.0</bundle>
	</feature>

	<feature name="artemis-openwire-client" version="2.50.0" description="Apache Artemis Openwire Client libraries">
		<feature>transaction</feature>
		<bundle dependency="true">mvn:jakarta.jms/jakarta.jms-api/2.0.3</bundle>
		<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.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.19.1</bundle>
	</feature>

</features>
