[ARTEMIS-1141] Validate Karaf features using the karaf plugin

This commit is contained in:
Guillaume Nodet 2017-05-03 22:04:32 +02:00
parent dee143fd3d
commit 9e165d1733
3 changed files with 70 additions and 21 deletions

View File

@ -25,6 +25,20 @@
<packaging>pom</packaging>
<name>ActiveMQ Artemis Features</name>
<properties>
<karaf.version>4.1.1</karaf.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>framework</artifactId>
<version>${karaf.version}</version>
<type>kar</type>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource>
@ -52,6 +66,32 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>karaf-maven-plugin</artifactId>
<version>${karaf.version}</version>
<executions>
<execution>
<id>verify</id>
<phase>process-resources</phase>
<goals>
<goal>verify</goal>
</goals>
<configuration>
<descriptors>
<descriptor>mvn:org.apache.karaf.features/framework/${karaf.version}/xml/features</descriptor>
<descriptor>mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features</descriptor>
<descriptor>file:${project.build.directory}/classes/features.xml</descriptor>
</descriptors>
<distribution>org.apache.karaf.features:framework</distribution>
<javase>1.8</javase>
<framework>
<feature>framework</feature>
</framework>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>

View File

@ -19,14 +19,14 @@
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="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>
@ -45,17 +45,17 @@
<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 dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_2.0_spec/${geronimo.jms.2.spec.version}</bundle>
<bundle dependency="true">mvn:com.google.guava/guava/${guava.version}</bundle>
<bundle dependency="true">mvn:io.netty/netty-codec-http/${netty.version}</bundle>
<bundle dependency="true">mvn:commons-beanutils/commons-beanutils/${commons.beanutils.version}</bundle>
<bundle dependency="true">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 dependency="true">mvn:org.jboss.logging/jboss-logging/${jboss.logging.version}</bundle>
<bundle dependency="true">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 dependency="true">mvn:org.apache.geronimo.specs/geronimo-json_1.0_spec/${json-p.spec.version}</bundle>
<bundle dependency="true">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>
@ -64,8 +64,8 @@
<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 dependency="true">wrap:mvn:org.apache.qpid/proton-j/${proton.version}</bundle>
<bundle dependency="true">wrap:mvn:org.apache.qpid/qpid-jms-client/${qpid.jms.version}</bundle>
<bundle>mvn:org.apache.activemq/artemis-amqp-protocol/${pom.version}</bundle>
</feature>
@ -76,7 +76,7 @@
<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 dependency="true">mvn:io.netty/netty-codec-mqtt/${netty.version}</bundle>
<bundle>mvn:org.apache.activemq/artemis-mqtt-protocol/${pom.version}</bundle>
</feature>
@ -88,7 +88,7 @@
<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 dependency="true">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>

View File

@ -90,6 +90,14 @@
<groupId>org.jboss.logmanager</groupId>
<artifactId>jboss-logmanager</artifactId>
<optional>true</optional>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.2</version>
<optional>true</optional>
<scope>provided</scope>
</dependency>
<dependency>
@ -117,6 +125,7 @@
<instructions>
<Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
<Import-Package>
!org.apache.activemq.artemis.*,
org.postgresql*;resolution:=optional,
*
</Import-Package>