activemq-artemis/pom.xml

1342 lines
62 KiB
XML
Raw Normal View History

<?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.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.activemq</groupId>
2024-01-31 08:34:08 -05:00
<artifactId>artemis-project</artifactId>
<packaging>pom</packaging>
<version>2.36.0-SNAPSHOT</version>
2015-02-12 09:46:22 -05:00
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>32</version>
2015-03-09 12:24:40 -04:00
<relativePath>org.apache:apache</relativePath>
2015-02-12 09:46:22 -05:00
</parent>
<modules>
2024-01-31 08:34:08 -05:00
<module>artemis-bom</module>
<module>artemis-pom</module>
<module>artemis-log-annotation-processor</module>
<module>artemis-protocols</module>
<module>artemis-dto</module>
<module>artemis-cdi-client</module>
<module>artemis-boot</module>
<module>artemis-cli</module>
<module>artemis-commons</module>
<module>artemis-selector</module>
<module>artemis-core-client</module>
<module>artemis-core-client-all</module>
<module>artemis-core-client-osgi</module>
<module>artemis-web</module>
<module>artemis-server</module>
<module>artemis-junit</module>
<module>artemis-jms-client</module>
<module>artemis-jms-client-all</module>
<module>artemis-jms-client-osgi</module>
<module>artemis-jakarta-client</module>
<module>artemis-jakarta-client-all</module>
<module>artemis-jms-server</module>
<module>artemis-jakarta-server</module>
<module>artemis-journal</module>
<module>artemis-ra</module>
<module>artemis-jakarta-ra</module>
<module>artemis-service-extensions</module>
<module>artemis-jakarta-service-extensions</module>
<module>artemis-jdbc-store</module>
<module>artemis-maven-plugin</module>
<module>artemis-server-osgi</module>
<module>artemis-hawtio</module>
<module>artemis-distribution</module>
<module>artemis-unit-test-support</module>
<module>tests</module>
<module>artemis-features</module>
<module>artemis-lockmanager</module>
<module>artemis-image</module>
<module>artemis-image/examples</module>
</modules>
2024-01-31 08:34:08 -05:00
<name>ActiveMQ Artemis</name>
<url>https://activemq.apache.org/components/artemis/</url>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<retryTests>false</retryTests>
<logging.config>log4j2-tests-config.properties</logging.config>
<modular.jdk.surefire.arg>--add-modules java.sql,jdk.unsupported </modular.jdk.surefire.arg>
<activemq-artemis-native-version>2.0.0</activemq-artemis-native-version>
<karaf.version>4.4.6</karaf.version>
2023-07-25 04:26:06 -04:00
<pax.exam.version>4.13.5</pax.exam.version>
<commons.config.version>2.10.1</commons.config.version>
<commons.lang.version>3.14.0</commons.lang.version>
<activemq5-version>5.18.3</activemq5-version>
<apache.derby.version>10.15.2.0</apache.derby.version>
<commons.beanutils.version>1.9.4</commons.beanutils.version>
<commons.logging.version>1.3.0</commons.logging.version>
<commons.dbcp2.version>2.11.0</commons.dbcp2.version>
<commons.pool2.version>2.12.0</commons.pool2.version>
<commons.collections.version>3.2.2</commons.collections.version>
<commons.text.version>1.10.0</commons.text.version>
<commons.io.version>2.16.1</commons.io.version>
<commons.codec.version>1.16.0</commons.codec.version>
<fuse.mqtt.client.version>1.16</fuse.mqtt.client.version>
2024-01-30 16:21:10 -05:00
<caffeine.version>3.1.8</caffeine.version>
<guava.version>33.0.0-jre</guava.version>
2023-11-07 12:49:23 -05:00
<hawtio.version>2.17.7</hawtio.version>
<jsr305.version>3.0.2</jsr305.version>
2024-01-30 16:44:17 -05:00
<jetty.version>10.0.20</jetty.version>
<jetty-servlet-api.version>4.0.6</jetty-servlet-api.version>
<jgroups.version>5.3.4.Final</jgroups.version>
<errorprone.version>2.27.0</errorprone.version>
<maven.bundle.plugin.version>5.1.9</maven.bundle.plugin.version>
<jib.maven.plugin.version>3.3.2</jib.maven.plugin.version>
<versions.maven.plugin.version>2.16.1</versions.maven.plugin.version>
<sevntu.checks.version>1.44.1</sevntu.checks.version>
<checkstyle.version>10.16.0</checkstyle.version>
2024-01-31 10:53:11 -05:00
<mockito.version>5.10.0</mockito.version>
2024-01-31 10:47:09 -05:00
<jctools.version>4.0.2</jctools.version>
<netty.version>4.1.111.Final</netty.version>
<hdrhistogram.version>2.1.12</hdrhistogram.version>
2024-01-30 22:15:23 -05:00
<curator.version>5.6.0</curator.version>
<zookeeper.version>3.9.1</zookeeper.version>
<woodstox.version>4.4.0</woodstox.version>
<pem-keystore.version>2.4.0</pem-keystore.version>
<!-- This overrides the Apache parent POM. Once a new Apache parent is released with the latest version then we
can get rid of this. -->
<version.maven-plugin-tools>3.11.0</version.maven-plugin-tools>
ARTEMIS-4383 migrate user docs to AsciiDoc Markdown, which is currently used for user-facing documentation, is good for a lot of things. However, it's not great for the kind of complex documentation we have and our need to produce both multi-page HTML and single-page PDF output via Maven. Markdown lacks features which would make the documentation easier to read, easier to navigate, and just look better overall. The current tool-chain uses honkit and a tool called Calibre. Honkit is written in TypeScript and is installed via NPM. Calibre is a native tool so it must be installed via an OS-specific package manager. All this complexity makes building, releasing, uploading, etc. a pain. AsciiDoc is relatively simple like Markdown, but it has more features for presentation and navigation not to mention Java-based Maven tooling to generate both HTML and PDF. Migrating will improve both the appearance of the documentation as well as the processes to generate and upload it. This commit contains the following changes: - Convert all the Markdown for the User Manual, Migration Guide, and Hacking guide to AsciiDoc via kramdown [1]. - Update the `artemis-website` build to use AsciiDoctor Maven tooling. - Update `RELEASING.md` with simplified instructions. - Update Hacking Guide with simplified instructions. - Use AsciiDoc link syntax in Artemis Maven doc plugin. - Drop EPUB & MOBI docs for User Manual as well as PDF for the Hacking Guide. All docs will be HTML only except for the User Manual which will have PDF. - Move all docs up out of their respective "en" directory. This was a hold-over from when we had docs in different languages. - Migration & Hacking Guides are now single-page HTML since they are relatively short. - Refactor README.md to simplify and remove redundant content. Benefits of the change: - Much simplified tooling. No more NPM packages or native tools. - Auto-generated table of contents for every chapter. - Auto-generated anchor links for every sub-section. - Overall more appealing presentation. - All docs will use the ActiveMQ favicon. - No more manual line-wrapping! AsciiDoc recommends one sentence per line and paragraphs are separated by a blank line. - AsciiDoctor plugins for IDEA are quite good. - Resulting HTML is less than *half* of the previous size. All previous links/bookmarks should continue to work. [1] https://github.com/asciidoctor/kramdown-asciidoc
2023-07-27 23:45:17 -04:00
<!-- docs -->
<asciidoctor.maven.plugin.version>2.2.4</asciidoctor.maven.plugin.version>
<asciidoctorj.pdf.version>2.3.9</asciidoctorj.pdf.version>
<!-- this is basically for tests -->
<netty-tcnative-version>2.0.65.Final</netty-tcnative-version>
<proton.version>0.34.1</proton.version>
<protonj2.version>1.0.0-M19</protonj2.version>
<slf4j.version>2.0.12</slf4j.version>
2024-01-30 22:45:31 -05:00
<log4j.version>2.22.1</log4j.version>
<qpid.jms.version>1.10.0</qpid.jms.version>
<johnzon.version>1.2.21</johnzon.version>
<hawtbuff.version>1.11</hawtbuff.version>
<hawtdispatch.version>1.22</hawtdispatch.version>
2023-08-30 21:39:00 -04:00
<picocli.version>4.7.5</picocli.version>
<jline.version>3.25.1</jline.version>
<jakarta.activation-api.version>1.2.2</jakarta.activation-api.version>
<jakarta.annotation-api.version>1.3.5</jakarta.annotation-api.version>
<jakarta.ejb-api.version>3.2.6</jakarta.ejb-api.version>
<jakarta.enterprise.cdi-api.version>2.0.2</jakarta.enterprise.cdi-api.version>
<jakarta.inject-api.version>1.0.3</jakarta.inject-api.version>
<jakarta.jms-api.version>2.0.3</jakarta.jms-api.version>
<jakarta.json-api.version>1.1.6</jakarta.json-api.version>
<jakarta.management.j2ee-api.version>1.1.4</jakarta.management.j2ee-api.version>
<jakarta.resource-api.version>1.7.4</jakarta.resource-api.version>
<jakarta.security.auth.message-api.version>1.1.3</jakarta.security.auth.message-api.version>
<jakarta.transaction-api.version>1.3.3</jakarta.transaction-api.version>
<jakarta.ws.rs-api.version>2.1.6</jakarta.ws.rs-api.version>
<jakarta.xml.bind-api.version>2.3.3</jakarta.xml.bind-api.version>
<weld.version>2.4.8.Final</weld.version>
<arquillian-weld-embedded.version>2.1.0.Final</arquillian-weld-embedded.version>
<owb.version>2.0.27</owb.version>
<arquillian.version>1.8.0.Final</arquillian.version>
<servicemix.json-1.1.spec.version>2.9.0</servicemix.json-1.1.spec.version>
2024-01-31 10:45:45 -05:00
<version.org.jacoco>0.8.11</version.org.jacoco>
<version.org.jacoco.plugin>0.8.11</version.org.jacoco.plugin>
<version.micrometer>1.12.2</version.micrometer>
<hamcrest.version>2.1</hamcrest.version>
<junit.version>4.13.2</junit.version>
2024-06-03 11:30:47 -04:00
<junit5.version>5.10.2</junit5.version>
<version.jaxb.runtime>2.3.3</version.jaxb.runtime>
<paho.client.mqtt.version>1.2.5</paho.client.mqtt.version>
<postgresql.version>42.7.2</postgresql.version>
<testcontainers.version>1.19.4</testcontainers.version>
<selenium.version>4.17.0</selenium.version>
<exec-maven-plugin.version>3.0.0</exec-maven-plugin.version>
<apache.httpcore.version>4.4.16</apache.httpcore.version>
<apache.httpclient.version>4.5.14</apache.httpclient.version>
<!-- for JakartaEE -->
<version.batavia>1.0.10.Final</version.batavia>
<jakarta.jms-api.version.alt>3.1.0</jakarta.jms-api.version.alt>
<jakarta.transaction-api.version.alt>2.0.1</jakarta.transaction-api.version.alt>
<jakarta.resource-api.version.alt>2.1.0</jakarta.resource-api.version.alt>
<!-- used on tests -->
2023-07-04 06:33:30 -04:00
<groovy.version>4.0.13</groovy.version>
<hadoop.minikdc.version>3.3.1</hadoop.minikdc.version>
<mockserver.version>5.15.0</mockserver.version>
2024-01-31 10:54:58 -05:00
<owasp.version>9.0.9</owasp.version>
2024-03-15 06:42:13 -04:00
<spring.version>5.3.33</spring.version>
2024-05-01 16:25:48 -04:00
<jackson.version>2.17.0</jackson.version>
<jackson-databind.version>${jackson.version}</jackson-databind.version>
<activemq.version.versionName>${project.version}</activemq.version.versionName>
<activemq.version.majorVersion>1</activemq.version.majorVersion>
<activemq.version.minorVersion>0</activemq.version.minorVersion>
<activemq.version.microVersion>0</activemq.version.microVersion>
<activemq.version.incrementingVersion>135,134,133,132,131,130,129,128,127,126,125,124,123,122</activemq.version.incrementingVersion>
<activemq.version.versionTag>${project.version}</activemq.version.versionTag>
<ActiveMQ-Version>${project.version}(${activemq.version.incrementingVersion})</ActiveMQ-Version>
<skipUnitTests>true</skipUnitTests>
<skipJmsTests>true</skipJmsTests>
<skipExtraTests>true</skipExtraTests>
<skipIntegrationTests>true</skipIntegrationTests>
<skipFeaturesVerification>true</skipFeaturesVerification>
<skipIsolatedIntegrationTests>true</skipIsolatedIntegrationTests>
<skipLeakTests>true</skipLeakTests>
<skipSmokeTests>true</skipSmokeTests>
<skipJoramTests>true</skipJoramTests>
<skipTimingTests>true</skipTimingTests>
<skipStressTests>true</skipStressTests>
<skipSoakTests>true</skipSoakTests>
<skipPerformanceTests>true</skipPerformanceTests>
<skipActiveMQ5Tests>true</skipActiveMQ5Tests>
<e2e-tests.skipTests>true</e2e-tests.skipTests>
<e2e-tests.skipImageBuild>true</e2e-tests.skipImageBuild>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.test.redirectTestOutputToFile>false</maven.test.redirectTestOutputToFile>
<!--
note for idea users:
Idea picks up surefire argline by default:
if You don't want it, you can add -Didea.maven.surefire.disable.argLine=true to idea.vmoptions files,
see https://intellij-support.jetbrains.com/entries/23395793
Also see: http://youtrack.jetbrains.com/issue/IDEA-125696
For profiling add this line and use jmc (Java Mission Control) to evaluate the results:
-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:StartFlightRecording=delay=30s,duration=120s,filename=/tmp/myrecording.jfr
-->
<!-- for tests that will need a new server created -->
<artemis.distribution.output>${activemq.basedir}/artemis-distribution/target/apache-artemis-${project.version}-bin/apache-artemis-${project.version}</artemis.distribution.output>
<activemq-surefire-argline>-Dorg.apache.activemq.artemis.utils.RetryRule.retry=${retryTests} -Dbrokerconfig.maxDiskUsage=100 -Dorg.apache.activemq.artemis.core.remoting.impl.netty.TransportConstants.DEFAULT_QUIET_PERIOD=0 -Dorg.apache.activemq.artemis.core.remoting.impl.netty.TransportConstants.DEFAULT_SHUTDOWN_TIMEOUT=0
-Djava.library.path="${activemq.basedir}/target/bin/lib/linux-x86_64:${activemq.basedir}/target/bin/lib/linux-i686" -Djgroups.bind_addr=localhost
-Djava.net.preferIPv4Stack=true -Dbasedir=${basedir}
-Djdk.attach.allowAttachSelf=true
-Dartemis.distribution.output="${artemis.distribution.output}"
-Dlog4j2.configurationFile="file:${activemq.basedir}/tests/config/${logging.config}"
</activemq-surefire-argline>
<activemq.basedir>${project.basedir}</activemq.basedir>
<proton.trace.frames>false</proton.trace.frames>
<directory-version>2.0.0.AM25</directory-version>
<directory-jdbm2-version>2.0.0-M1</directory-jdbm2-version>
<bc-java-version>1.78</bc-java-version>
<netty-transport-native-epoll-classifier>linux-x86_64</netty-transport-native-epoll-classifier>
<netty-transport-native-kqueue-classifier>osx-x86_64</netty-transport-native-kqueue-classifier>
<!-- Ignore failed tests by default because there are "known" failures in the full test-suite.
This will be set to false for the "fast-tests" profile as none of those tests should fail. -->
<testFailureIgnore>true</testFailureIgnore>
<fast-tests>false</fast-tests>
<project.build.outputTimestamp>2024-06-12T15:58:52Z</project.build.outputTimestamp>
</properties>
<scm>
2019-01-31 10:41:49 -05:00
<connection>scm:git:https://gitbox.apache.org/repos/asf/activemq-artemis.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/activemq-artemis.git</developerConnection>
<url>https://github.com/apache/activemq-artemis</url>
<tag>HEAD</tag>
</scm>
<issueManagement>
<system>JIRA</system>
2015-06-08 12:14:48 -04:00
<url>https://issues.apache.org/jira/browse/ARTEMIS</url>
</issueManagement>
<developers>
<developer>
<name>The Apache ActiveMQ Team</name>
<email>dev@activemq.apache.org</email>
<url>http://activemq.apache.org</url>
<organization>Apache Software Foundation</organization>
<organizationUrl>http://apache.org/</organizationUrl>
</developer>
</developers>
<mailingLists>
<mailingList>
<name>User List</name>
<subscribe>users-subscribe@activemq.apache.org</subscribe>
<unsubscribe>users-unsubscribe@activemq.apache.org</unsubscribe>
<post>users@activemq.apache.org</post>
</mailingList>
<mailingList>
<name>Development List</name>
<subscribe>dev-subscribe@activemq.apache.org</subscribe>
<unsubscribe>dev-unsubscribe@activemq.apache.org</unsubscribe>
<post>dev@activemq.apache.org</post>
</mailingList>
</mailingLists>
<profiles>
<profile>
<id>M2E</id>
<activation>
<property>
<name>m2e.version</name>
</property>
</activation>
<properties>
<javac-compiler-id>javac</javac-compiler-id>
</properties>
</profile>
<profile>
<id>jdk11to15-errorprone</id>
<activation>
<jdk>[11,16)</jdk>
<property>
<name>errorprone</name>
</property>
</activation>
<dependencies>
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_core</artifactId>
2024-01-31 08:34:08 -05:00
<version>${errorprone.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArgs>
<arg>-Xdiags:verbose</arg>
<arg>-XDcompilePolicy=simple</arg>
<arg>-Xplugin:ErrorProne -Xep:ThreadLocalUsage:ERROR -Xep:MissingOverride:ERROR -Xep:NonAtomicVolatileUpdate:ERROR -Xep:SynchronizeOnNonFinalField:ERROR -Xep:StaticQualifiedUsingExpression:ERROR -Xep:WaitNotInLoop:ERROR -Xep:BanJNDI:OFF -XepExcludedPaths:.*/generated-sources/.*</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>jdk16on-errorprone</id>
<!-- TODO: MissingOverride check only warns in this profile for now, as JDK15+ added a toString method to CharSequence -->
<activation>
<jdk>[16,)</jdk>
<property>
<name>errorprone</name>
</property>
</activation>
<dependencies>
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_core</artifactId>
2024-01-31 08:34:08 -05:00
<version>${errorprone.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<fork>true</fork>
<compilerArgs>
<arg>-Xdiags:verbose</arg>
<arg>-XDcompilePolicy=simple</arg>
<arg>-Xplugin:ErrorProne -Xep:ThreadLocalUsage:ERROR -Xep:MissingOverride:WARN -Xep:NonAtomicVolatileUpdate:ERROR -Xep:SynchronizeOnNonFinalField:ERROR -Xep:StaticQualifiedUsingExpression:ERROR -Xep:WaitNotInLoop:ERROR -Xep:BanJNDI:OFF -XepExcludedPaths:.*/generated-sources/.*</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
<arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
<arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</build>
</profile>
2016-09-09 05:13:33 -04:00
<profile>
<id>owasp</id>
<build>
<plugins>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>${owasp.version}</version>
<configuration>
<!-- <skipProvidedScope>true</skipProvidedScope>
<skipRuntimeScope>true</skipRuntimeScope> -->
</configuration>
<executions>
<execution>
<goals>
<!-- combine results for all modules into a single report -->
<goal>aggregate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
2016-09-09 05:13:33 -04:00
</profile>
<profile>
<id>dev</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>release</id>
<modules>
<module>artemis-website</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-java-version</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>[11, 12)</version>
<message>JDK 11 is required when building the release</message>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Override the apache-release profile from the parent to skip creating
a source-release archive here, it is done in artemis-distribution. -->
<profile>
<id>apache-release</id>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>source-release-assembly</id>
<configuration>
<skipAssembly>true</skipAssembly>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<!-- this will activate the property required to play with tests retry -->
<id>tests-retry</id>
<properties>
<retryTests>true</retryTests>
</properties>
</profile>
<profile>
<!-- tests is the profile we use to run the entire testsuite
Running this entire build could take up to 2 hours -->
<id>tests</id>
<properties>
<skipUnitTests>false</skipUnitTests>
<skipJmsTests>false</skipJmsTests>
<skipJoramTests>false</skipJoramTests>
<skipIntegrationTests>false</skipIntegrationTests>
<skipFeaturesVerification>false</skipFeaturesVerification>
<skipIsolatedIntegrationTests>false</skipIsolatedIntegrationTests>
<skipSmokeTests>false</skipSmokeTests>
<skipTimingTests>true</skipTimingTests>
<skipStressTests>true</skipStressTests>
<skipSoakTests>true</skipSoakTests>
<skipPerformanceTests>true</skipPerformanceTests>
<skipExtraTests>false</skipExtraTests>
<skipLeakTests>false</skipLeakTests>
</properties>
</profile>
<profile>
<!-- This will represent a subset of the tests
This is used on PR checks -->
<id>fast-tests</id>
<properties>
<fast-tests>true</fast-tests>
<skipUnitTests>false</skipUnitTests>
<skipJmsTests>false</skipJmsTests>
<skipJoramTests>false</skipJoramTests>
<skipLeakTests>true</skipLeakTests>
<testFailureIgnore>false</testFailureIgnore>
<!-- This enables the karaf-<foo>-integration-tests and
integration-tests module tests, see fast-tests profile
in the latter for specific tests it then runs -->
<skipIntegrationTests>false</skipIntegrationTests>
<skipFeaturesVerification>false</skipFeaturesVerification>
<!-- Only a portion of the smoke-tests are run. See the filter
applied in the fast-tests profile under ./tests/smoke-tests -->
<skipSmokeTests>false</skipSmokeTests>
</properties>
</profile>
<!-- This profile generates jacoco coverage files. To generate html report use "-Pjacoco-generate-report" -->
<profile>
<id>jacoco</id>
<dependencies>
<dependency>
<groupId>org.jacoco</groupId>
<artifactId>org.jacoco.core</artifactId>
</dependency>
</dependencies>
<properties>
<!-- Property set by Jacoco plugin -->
<jacoco.agent />
<activemq-surefire-argline>
-Dlog4j2.configurationFile="file:${activemq.basedir}/tests/config/${logging.config}"
-Djava.library.path="${activemq.basedir}/activemq-artemis-native/bin" -Djgroups.bind_addr=localhost -Dorg.apache.activemq.artemis.api.core.UDPBroadcastEndpointFactory.localBindAddress=localhost
-Djava.net.preferIPv4Stack=true -Dbasedir=${basedir}
@{jacoco.agent} -Djacoco.agent=@{jacoco.agent}
</activemq-surefire-argline>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>jacoco-prepare</id>
<phase>validate</phase>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<destFile>${project.build.directory}/jacoco.exec</destFile>
<!-- Jacoco sets this property with agent configuration.
This property is passed to maven-surefire-plugin -->
<propertyName>jacoco.agent</propertyName>
</configuration>
</execution>
<execution>
<id>merge</id>
<phase>none</phase>
<goals>
<goal>merge</goal>
</goals>
</execution>
</executions>
<configuration>
<fileSets>
<fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">
<directory>${activemq.basedir}</directory>
<includes>
<include>**/*.exec</include>
</includes>
</fileSet>
</fileSets>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!-- This profile generates html report from jacoco coverage files. Use "-Pjacoco" profile to generate coverage. -->
<profile>
<id>jacoco-generate-report</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<!-- Copy jacoco ant jar. This is needed to generate jacoco report with maven-antrun-plugin -->
<execution>
<goals>
<goal>copy</goal>
</goals>
<phase>process-test-resources</phase>
<inherited>false</inherited>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.jacoco</groupId>
<artifactId>org.jacoco.ant</artifactId>
<version>${version.org.jacoco.plugin}</version>
</artifactItem>
</artifactItems>
<stripVersion>true</stripVersion>
<outputDirectory>${project.build.directory}/jacoco-jars</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>post-integration-test</phase>
<goals><goal>run</goal></goals>
<inherited>false</inherited>
<configuration>
<target>
<property name="result.report.dir" location="target/jacoco-report" />
<taskdef name="report" classname="org.jacoco.ant.ReportTask">
<classpath path="${project.build.directory}/jacoco-jars/org.jacoco.ant.jar" />
</taskdef>
<echo>Creating JaCoCo ActiveMQ Artemis test coverage reports...</echo>
<report>
<executiondata>
<fileset dir="${basedir}">
<include name="**/target/jacoco.exec" />
</fileset>
</executiondata>
<structure name="JaCoCo ActiveMQ Artemis">
<classfiles>
<fileset dir="${activemq.basedir}/artemis-boot/target/classes" />
<fileset dir="${activemq.basedir}/artemis-cdi-client/target/classes" />
<fileset dir="${activemq.basedir}/artemis-cli/target/classes" />
<fileset dir="${activemq.basedir}/artemis-commons/target/classes" />
<fileset dir="${activemq.basedir}/artemis-core-client/target/classes" />
<fileset dir="${activemq.basedir}/artemis-dto/target/classes" />
<fileset dir="${activemq.basedir}/artemis-jdbc-store/target/classes" />
<fileset dir="${activemq.basedir}/artemis-jms-client/target/classes" />
<fileset dir="${activemq.basedir}/artemis-jms-server/target/classes" />
<fileset dir="${activemq.basedir}/artemis-journal/target/classes" />
<fileset dir="${activemq.basedir}/activemq-artemis-native/target/classes" />
<fileset dir="${activemq.basedir}/artemis-ra/target/classes" />
<fileset dir="${activemq.basedir}/artemis-selector/target/classes" />
<fileset dir="${activemq.basedir}/artemis-server/target/classes" />
<fileset dir="${activemq.basedir}/artemis-server-osgi/target/classes" />
<fileset dir="${activemq.basedir}/artemis-service-extensions/target" />
<fileset dir="${activemq.basedir}/artemis-web/target/classes" />
</classfiles>
<sourcefiles encoding="UTF-8">
<fileset dir="${activemq.basedir}/artemis-boot/src/main/java" />
<fileset dir="${activemq.basedir}/artemis-cdi-client/src/main/java" />
<fileset dir="${activemq.basedir}/artemis-cli/src/main/java" />
<fileset dir="${activemq.basedir}/artemis-commons/src/main/java" />
<fileset dir="${activemq.basedir}/artemis-core-client/src/main/java" />
<fileset dir="${activemq.basedir}/artemis-dto/src/main/java" />
<fileset dir="${activemq.basedir}/artemis-jdbc-store/src/main/java" />
<fileset dir="${activemq.basedir}/artemis-jms-client/src/main/java" />
<fileset dir="${activemq.basedir}/artemis-jms-server/src/main/java" />
<fileset dir="${activemq.basedir}/artemis-journal/src/main/java" />
<fileset dir="${activemq.basedir}/activemq-artemis-native/src/main/java" />
<fileset dir="${activemq.basedir}/artemis-ra/src/main/java" />
<fileset dir="${activemq.basedir}/artemis-selector/src/main/java" />
<fileset dir="${activemq.basedir}/artemis-server/src/main/java" />
<fileset dir="${activemq.basedir}/artemis-server-osgi/src/main/java" />
<fileset dir="${activemq.basedir}/artemis-service-extensions/src/main/java" />
<fileset dir="${activemq.basedir}/artemis-web/src/main/java" />
</sourcefiles>
</structure>
<html destdir="\${result.report.dir}" />
<xml destfile="\${result.report.dir}/report.xml" />
</report>
</target>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.jacoco</groupId>
<artifactId>org.jacoco.ant</artifactId>
<version>${version.org.jacoco.plugin}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</profile>
<profile>
<!-- Use along with mvn dependency:go-offline to generate props need to resolve netty deps -->
<id>go-offline</id>
<build>
<plugins>
<plugin>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>1.7.1</version>
<extensions>true</extensions>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>detect</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<versionRange>[0.12,)</versionRange>
<goals>
<goal>check</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.apache.servicemix.tooling
</groupId>
<artifactId>
depends-maven-plugin
</artifactId>
<versionRange>
[1.2,)
</versionRange>
<goals>
<goal>
generate-depends-file
</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>javacc-maven-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>javacc</id>
<goals>
<goal>javacc</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-rar-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>net.sf.maven-sar</groupId>
<artifactId>maven-sar-plugin</artifactId>
<version>1.0</version>
</plugin>
<plugin>
2015-06-03 22:10:51 -04:00
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${jetty.version}</version>
</plugin>
<plugin>
<groupId>org.wildfly.extras.batavia</groupId>
<artifactId>transformer-tools-mvn</artifactId>
<version>${version.batavia}</version>
</plugin>
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<testFailureIgnore>${testFailureIgnore}</testFailureIgnore>
<runOrder>alphabetical</runOrder>
<redirectTestOutputToFile>${maven.test.redirectTestOutputToFile}</redirectTestOutputToFile>
<argLine>${activemq-surefire-argline}</argLine>
<environmentVariables>
<PN_TRACE_FRM>${proton.trace.frames}</PN_TRACE_FRM>
</environmentVariables>
<statelessTestsetReporter implementation="org.apache.maven.plugin.surefire.extensions.junit5.JUnit5Xml30StatelessReporter">
<version>3.0</version>
<usePhrasedTestCaseMethodName>true</usePhrasedTestCaseMethodName>
</statelessTestsetReporter>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
2024-01-31 08:34:08 -05:00
<version>3.21.2</version>
<configuration>
<linkXRef>true</linkXRef>
<minimumTokens>100</minimumTokens>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.8</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<version>1.0</version>
</plugin>
<!-- Many examples use it -->
<plugin>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-maven-plugin</artifactId>
<version>${project.version}</version>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${version.org.jacoco.plugin}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<dependencies>
<dependency>
<groupId>com.github.sevntu-checkstyle</groupId>
<artifactId>sevntu-checks</artifactId>
<version>${sevntu.checks.version}</version>
</dependency>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>${checkstyle.version}</version>
</dependency>
</dependencies>
<configuration>
<configLocation>${activemq.basedir}/etc/checkstyle.xml</configLocation>
<suppressionsLocation>${activemq.basedir}/etc/checkstyle-suppressions.xml</suppressionsLocation>
<failsOnError>false</failsOnError>
<failOnViolation>true</failOnViolation>
<consoleOutput>true</consoleOutput>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/src/main/webapp/hawtconfig.json</exclude>
<exclude>.repository/**</exclude>
<exclude>.travis.yml</exclude>
<exclude>.github/workflows/*</exclude>
<exclude>**/footer.html</exclude>
<exclude>**/*.txt</exclude>
<exclude>**/*.md</exclude>
ARTEMIS-4383 migrate user docs to AsciiDoc Markdown, which is currently used for user-facing documentation, is good for a lot of things. However, it's not great for the kind of complex documentation we have and our need to produce both multi-page HTML and single-page PDF output via Maven. Markdown lacks features which would make the documentation easier to read, easier to navigate, and just look better overall. The current tool-chain uses honkit and a tool called Calibre. Honkit is written in TypeScript and is installed via NPM. Calibre is a native tool so it must be installed via an OS-specific package manager. All this complexity makes building, releasing, uploading, etc. a pain. AsciiDoc is relatively simple like Markdown, but it has more features for presentation and navigation not to mention Java-based Maven tooling to generate both HTML and PDF. Migrating will improve both the appearance of the documentation as well as the processes to generate and upload it. This commit contains the following changes: - Convert all the Markdown for the User Manual, Migration Guide, and Hacking guide to AsciiDoc via kramdown [1]. - Update the `artemis-website` build to use AsciiDoctor Maven tooling. - Update `RELEASING.md` with simplified instructions. - Update Hacking Guide with simplified instructions. - Use AsciiDoc link syntax in Artemis Maven doc plugin. - Drop EPUB & MOBI docs for User Manual as well as PDF for the Hacking Guide. All docs will be HTML only except for the User Manual which will have PDF. - Move all docs up out of their respective "en" directory. This was a hold-over from when we had docs in different languages. - Migration & Hacking Guides are now single-page HTML since they are relatively short. - Refactor README.md to simplify and remove redundant content. Benefits of the change: - Much simplified tooling. No more NPM packages or native tools. - Auto-generated table of contents for every chapter. - Auto-generated anchor links for every sub-section. - Overall more appealing presentation. - All docs will use the ActiveMQ favicon. - No more manual line-wrapping! AsciiDoc recommends one sentence per line and paragraphs are separated by a blank line. - AsciiDoctor plugins for IDEA are quite good. - Resulting HTML is less than *half* of the previous size. All previous links/bookmarks should continue to work. [1] https://github.com/asciidoctor/kramdown-asciidoc
2023-07-27 23:45:17 -04:00
<exclude>**/*.adoc</exclude>
<exclude>etc/ide-settings/**</exclude>
<exclude>**/*.json</exclude>
<exclude>docs/resources/font-awesome/**/*</exclude>
ARTEMIS-4383 migrate user docs to AsciiDoc Markdown, which is currently used for user-facing documentation, is good for a lot of things. However, it's not great for the kind of complex documentation we have and our need to produce both multi-page HTML and single-page PDF output via Maven. Markdown lacks features which would make the documentation easier to read, easier to navigate, and just look better overall. The current tool-chain uses honkit and a tool called Calibre. Honkit is written in TypeScript and is installed via NPM. Calibre is a native tool so it must be installed via an OS-specific package manager. All this complexity makes building, releasing, uploading, etc. a pain. AsciiDoc is relatively simple like Markdown, but it has more features for presentation and navigation not to mention Java-based Maven tooling to generate both HTML and PDF. Migrating will improve both the appearance of the documentation as well as the processes to generate and upload it. This commit contains the following changes: - Convert all the Markdown for the User Manual, Migration Guide, and Hacking guide to AsciiDoc via kramdown [1]. - Update the `artemis-website` build to use AsciiDoctor Maven tooling. - Update `RELEASING.md` with simplified instructions. - Update Hacking Guide with simplified instructions. - Use AsciiDoc link syntax in Artemis Maven doc plugin. - Drop EPUB & MOBI docs for User Manual as well as PDF for the Hacking Guide. All docs will be HTML only except for the User Manual which will have PDF. - Move all docs up out of their respective "en" directory. This was a hold-over from when we had docs in different languages. - Migration & Hacking Guides are now single-page HTML since they are relatively short. - Refactor README.md to simplify and remove redundant content. Benefits of the change: - Much simplified tooling. No more NPM packages or native tools. - Auto-generated table of contents for every chapter. - Auto-generated anchor links for every sub-section. - Overall more appealing presentation. - All docs will use the ActiveMQ favicon. - No more manual line-wrapping! AsciiDoc recommends one sentence per line and paragraphs are separated by a blank line. - AsciiDoctor plugins for IDEA are quite good. - Resulting HTML is less than *half* of the previous size. All previous links/bookmarks should continue to work. [1] https://github.com/asciidoctor/kramdown-asciidoc
2023-07-27 23:45:17 -04:00
<exclude>docs/user-manual/_diagrams/*.svg</exclude>
<exclude>docs/user-manual/02-27-00-scripts-profiles.diff</exclude>
<exclude>docs/user-manual/02-27-00-scripts-profiles-windows.diff</exclude>
<exclude>**/target/</exclude>
<exclude>**/META-INF/services/*</exclude>
<exclude>**/META-INF/MANIFEST.MF</exclude>
<exclude>**/*.iml</exclude>
<exclude>**/*.jceks</exclude>
<exclude>**/*.jks</exclude>
<exclude>**/*.p12</exclude>
<exclude>**/xml.xsd</exclude>
<exclude>**/*.pemcfg</exclude>
<exclude>**/org/apache/activemq/artemis/utils/json/**</exclude>
<exclude>**/org/apache/activemq/artemis/utils/Base64.java</exclude>
<exclude>**/.settings/**</exclude>
<exclude>**/.project</exclude>
<exclude>**/.classpath</exclude>
<exclude>**/.editorconfig</exclude>
<exclude>**/.checkstyle</exclude>
<exclude>**/.factorypath</exclude>
<exclude>**/org.apache.activemq.artemis.cfg</exclude>
<exclude>**/nb-configuration.xml</exclude>
<exclude>**/nbactions-tests.xml</exclude>
<exclude>**/.vscode/settings.json</exclude>
<!-- activemq5 unit tests exclude -->
<exclude>**/*.data</exclude>
<exclude>**/*.bin</exclude>
<exclude>**/src/test/resources/keystore</exclude>
<exclude>**/src/test/java/org/apache/activemq/security/*.ts</exclude>
<exclude>**/*.log</exclude>
<exclude>**/*.redo</exclude>
<!-- NPM files -->
<exclude>**/node/**</exclude>
<exclude>**/node_modules/**</exclude>
<exclude>**/package.json</exclude>
<exclude>**/package-lock.json</exclude>
<!-- Build time overlay folder -->
<exclude>**/overlays/**</exclude>
<!-- things from cmake on the native build -->
<exclude>**/CMakeFiles/</exclude>
<exclude>**/Makefile</exclude>
<exclude>**/cmake_install.cmake</exclude>
<exclude>activemq-artemis-native/src/main/c/org_apache_activemq_artemis_jlibaio_LibaioContext.h</exclude>
<exclude>**/dependency-reduced-pom.xml</exclude>
<!-- Mockito -->
<exclude>**/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker</exclude>
<!-- .NET Examples-->
<exclude>examples/protocols/amqp/dotnet/**/obj/**/*</exclude>
<exclude>examples/protocols/amqp/dotnet/**/bin/**/*</exclude>
<exclude>examples/protocols/amqp/dotnet/**/readme.md</exclude>
<exclude>examples/protocols/amqp/**/readme.md</exclude>
<!-- DB Test config files -->
<exclude>tests/db-tests/jdbc-drivers/**/*</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
<tagNameFormat>@{project.version}</tagNameFormat>
<arguments>-DskipTests</arguments>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-java-version</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>[11,)</version>
<message>You must use JDK 11+ when building</message>
</requireJavaVersion>
</rules>
</configuration>
</execution>
<execution>
<id>enforce-maven-version</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>3.5.0</version>
<message>You must use Maven 3.5.0+ to build</message>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<noindex>true</noindex>
</configuration>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-help-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.5.2</version>
<configuration>
<excludeFilterFile>${user.dir}/etc/findbugs-exclude.xml</excludeFilterFile>
<findbugsXmlOutput>true</findbugsXmlOutput>
<xmlOutput>true</xmlOutput>
<effort>Max</effort>
<failOnError>false</failOnError>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>${maven.bundle.plugin.version}</version>
<extensions>true</extensions>
</plugin>
2016-09-09 05:13:33 -04:00
<!-- This is placing the .so in the root target/bin/ dir, so the testsuite can use it, by
leveraging the surefire argLine. This avoids having to build a distribution to run tests.
Note the plugin config is not inherited, we only do this at the root. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<inherited>false</inherited>
<executions>
<execution>
<id>copy</id>
<phase>generate-sources</phase>
<goals>
<goal>unpack</goal>
</goals>
</execution>
</executions>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-artemis-native</artifactId>
<version>${activemq-artemis-native-version}</version>
<type>jar</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/bin</outputDirectory>
<includes>**/*.so</includes>
</artifactItem>
</artifactItems>
</configuration>
</plugin>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>${jib.maven.plugin.version}</version>
</plugin>
<plugin>
<!-- run using "mvn versions:display-dependency-updates" -->
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>${versions.maven.plugin.version}</version>
<configuration>
<ruleSet>
<ignoreVersions>
<!-- ignore release candidates, alphas, betas, milestones, etc. -->
<ignoreVersion>
<type>regex</type>
<version>.*-[Rr][Cc]\d$</version>
</ignoreVersion>
<ignoreVersion>
<type>regex</type>
<version>.*.[Aa]lpha\d*$</version>
</ignoreVersion>
<ignoreVersion>
<type>regex</type>
<version>.*-beta\d*$</version>
</ignoreVersion>
<ignoreVersion>
<type>regex</type>
<version>.*[-\.]M\d$</version>
</ignoreVersion>
<ignoreVersion>
<type>regex</type>
<version>.*[-\.]MR$</version>
</ignoreVersion>
<!-- there's some really old Apache deps with weird versions numbers that we should ignore -->
<ignoreVersion>
<type>regex</type>
<version>20040.*</version>
</ignoreVersion>
<ignoreVersion>
<type>regex</type>
<version>2003[01].*</version>
</ignoreVersion>
</ignoreVersions>
<rules>
<!-- ignore Jetty 11 & 12 until we move to Jakarta -->
<rule>
<groupId>org.eclipse.jetty</groupId>
<comparisonMethod>maven</comparisonMethod>
<ignoreVersions>
<ignoreVersion>
<type>regex</type>
<version>1[12]\..*</version>
</ignoreVersion>
</ignoreVersions>
</rule>
<!-- ignore ActiveMQ Classic 6.x until we move to Jakarta -->
<rule>
<groupId>org.apache.activemq</groupId>
<comparisonMethod>maven</comparisonMethod>
<ignoreVersions>
<ignoreVersion>
<type>regex</type>
<version>6\..*</version>
</ignoreVersion>
</ignoreVersions>
</rule>
<!-- ignore Apache Qpid 2.x until we move to Jakarta -->
<rule>
<groupId>org.apache.qpid</groupId>
<comparisonMethod>maven</comparisonMethod>
<ignoreVersions>
<ignoreVersion>
<type>regex</type>
<version>2\..*</version>
</ignoreVersion>
</ignoreVersions>
</rule>
<!-- ignore Apache Johnzon 2.x until we move to Jakarta -->
<rule>
<groupId>org.apache.johnzon</groupId>
<comparisonMethod>maven</comparisonMethod>
<ignoreVersions>
<ignoreVersion>
<type>regex</type>
<version>2\..*</version>
</ignoreVersion>
</ignoreVersions>
</rule>
<!-- ignore Spring 6 until we move to Jakarta -->
<rule>
<groupId>org.springframework</groupId>
<comparisonMethod>maven</comparisonMethod>
<ignoreVersions>
<ignoreVersion>
<type>regex</type>
<version>6\..*</version>
</ignoreVersion>
</ignoreVersions>
</rule>
<!-- ignore Derby >= 10.16 until we move to JDK 17 -->
<rule>
<groupId>org.apache.derby</groupId>
<comparisonMethod>maven</comparisonMethod>
<ignoreVersions>
<ignoreVersion>
<type>regex</type>
<version>10.1[67]\..*</version>
</ignoreVersion>
</ignoreVersions>
</rule>
<!-- ignore Arquillian Weld Embedded >= 3.x until we move to Jakarta -->
<rule>
<groupId>org.jboss.arquillian.container</groupId>
<artifactId>arquillian-weld-embedded</artifactId>
<comparisonMethod>maven</comparisonMethod>
<ignoreVersions>
<ignoreVersion>
<type>regex</type>
<version>[34]\..*</version>
</ignoreVersion>
</ignoreVersions>
</rule>
<!-- ignore OpenWebBeans 4.x until we move to Jakarta -->
<rule>
<groupId>org.apache.openwebbeans</groupId>
<comparisonMethod>maven</comparisonMethod>
<ignoreVersions>
<ignoreVersion>
<type>regex</type>
<version>[4]\..*</version>
</ignoreVersion>
</ignoreVersions>
</rule>
</rules>
</ruleSet>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
<configLocation>${activemq.basedir}/etc/checkstyle.xml</configLocation>
<suppressionsLocation>${activemq.basedir}/etc/checkstyle-suppressions.xml</suppressionsLocation>
<failsOnError>false</failsOnError>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.5.2</version>
<configuration>
<excludeFilterFile>${user.dir}/etc/findbugs-exclude.xml</excludeFilterFile>
<effort>Max</effort>
<failOnError>false</failOnError>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<minmemory>128m</minmemory>
<maxmemory>1024m</maxmemory>
<noindex>true</noindex>
<quiet>false</quiet>
<!-- XXX FIXME 'aggregate' is deprecated -->
<aggregate>true</aggregate>
<excludePackageNames>com.restfully.*:org.jboss.resteasy.examples.*:org.jboss.resteasy.tests.*
</excludePackageNames>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
</plugin>
2016-09-09 05:13:33 -04:00
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>${owasp.version}</version>
<reportSets>
<reportSet>
<reports>
<report>aggregate</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
<!--
un comment this session here to validate repository releases.
<repositories>
<repository>
<id>release validation</id>
<name>Maven 1.0.0 release</name>
<layout>default</layout>
<url>https://repository.apache.org/content/repositories/orgapacheactivemq-XXXX</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories> -->
</project>