blob: b86e060ae8d7bb3e76c68c696eb593a91f83509a [file] [log] [blame]
<?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>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>21</version>
</parent>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-jms-amqp-0-x-parent</artifactId>
<version>6.4.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Apache Qpid JMS AMQP 0-x Parent</name>
<url>http://qpid.apache.org/components</url>
<description>Apache Qpid JMS AMQP 0-x</description>
<inceptionYear>2006</inceptionYear>
<issueManagement>
<system>JIRA</system>
<url>https://issues.apache.org/jira/browse/QPID</url>
</issueManagement>
<ciManagement>
<system>Jenkins</system>
<url>https://builds.apache.org/view/M-R/view/Qpid/</url>
</ciManagement>
<mailingLists>
<mailingList>
<name>Apache Qpid Users</name>
<subscribe>users-subscribe@qpid.apache.org</subscribe>
<unsubscribe>users-unsubscribe@qpid.apache.org</unsubscribe>
<post>users@qpid.apache.org</post>
<archive>http://mail-archives.apache.org/mod_mbox/qpid-users/</archive>
</mailingList>
<mailingList>
<name>Apache Qpid Developers</name>
<subscribe>dev-subscribe@qpid.apache.org</subscribe>
<unsubscribe>dev-unsubscribe@qpid.apache.org</unsubscribe>
<post>dev@qpid.apache.org</post>
<archive>http://mail-archives.apache.org/mod_mbox/qpid-dev/</archive>
</mailingList>
</mailingLists>
<scm>
<connection>scm:git:https://gitbox.apache.org/repos/asf/qpid-jms-amqp-0-x.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/qpid-jms-amqp-0-x.git</developerConnection>
<url>https://gitbox.apache.org/repos/asf/qpid-jms-amqp-0-x.git</url>
<tag>HEAD</tag>
</scm>
<distributionManagement>
<site>
<id>${project.artifactId}-site</id>
<url>${project.baseUri}</url>
</site>
</distributionManagement>
<properties>
<minimum-maven-version>3.0.0</minimum-maven-version>
<minimum-java-version>1.8.0</minimum-java-version>
<java.source>1.8</java.source>
<java.target>1.8</java.target>
<!-- Directory used for per test log file output -->
<test.output.dir>${basedir}${file.separator}target${file.separator}surefire-reports${file.separator}junit</test.output.dir>
<logback-version>1.2.2</logback-version>
<guava-version>27.0-jre</guava-version>
<fasterxml-jackson-version>2.10.0</fasterxml-jackson-version>
<slf4j-version>1.7.25</slf4j-version>
<!-- dependency version numbers -->
<geronimo-jms-1-1-version>1.1.1</geronimo-jms-1-1-version>
<!-- test dependency version numbers -->
<junit-version>4.11</junit-version>
<mockito-version>2.22.0</mockito-version>
<hamcrest-version>1.3</hamcrest-version>
<httpclient-version>4.5.3</httpclient-version>
<maven-core-version>3.5.4</maven-core-version>
<maven-resolver-version>1.1.1</maven-resolver-version>
<exec-maven-plugin-version>1.6.0</exec-maven-plugin-version>
<javacc-maven-plugin-version>2.6</javacc-maven-plugin-version>
<maven-rar-plugin-version>2.4</maven-rar-plugin-version>
<license-maven-plugin-version>1.8</license-maven-plugin-version>
<jacoco-plugin-version>0.8.2</jacoco-plugin-version>
<maven-jxr-plugin-version>3.0.0</maven-jxr-plugin-version>
<findbugs-maven-plugin-version>3.0.5</findbugs-maven-plugin-version>
<apache-rat-plugin-version>0.12</apache-rat-plugin-version>
<maven-docbx-plugin-version>2.0.15</maven-docbx-plugin-version>
<maven-docbook-xml-plugin-version>5.0-all</maven-docbook-xml-plugin-version>
</properties>
<modules>
<module>apache-qpid-jms-amqp-0-x</module>
<module>client</module>
<module>client/example</module>
<module>doc</module>
<module>systests</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-client</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-client-examples</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jms_1.1_spec</artifactId>
<version>${geronimo-jms-1-1-version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j-version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava-version}</version>
<exclusions>
<exclusion>
<groupId>com.google.j2objc</groupId>
<artifactId>j2objc-annotations</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
</exclusion>
<exclusion>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-annotations</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>failureaccess</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>listenablefuture</artifactId>
</exclusion>
<exclusion>
<groupId>org.checkerframework</groupId>
<artifactId>checker-qual</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback-version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit-version}</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito-version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${fasterxml-jackson-version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${fasterxml-jackson-version}</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>${hamcrest-version}</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-integration</artifactId>
<version>${hamcrest-version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>${maven-core-version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-api</artifactId>
<version>${maven-resolver-version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-connector-basic</artifactId>
<version>${maven-resolver-version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-transport-file</artifactId>
<version>${maven-resolver-version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-transport-http</artifactId>
<version>${maven-resolver-version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${httpclient-version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.source}</source>
<target>${java.target}</target>
<optimize>true</optimize>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<useIncrementalCompilation>false</useIncrementalCompilation>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>${license-maven-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>${maven-jxr-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-rar-plugin</artifactId>
<version>${maven-rar-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>${findbugs-maven-plugin-version}</version>
</plugin>
<plugin>
<groupId>com.agilejava.docbkx</groupId>
<artifactId>docbkx-maven-plugin</artifactId>
<version>${maven-docbx-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<tagNameFormat>@{project.version}</tagNameFormat>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec-maven-plugin-version}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-minimum-versions</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>${minimum-java-version}</version>
</requireJavaVersion>
<requireMavenVersion>
<version>${minimum-maven-version}</version>
</requireMavenVersion>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludes>
<exclude>specs/**</exclude>
<exclude>DEPENDENCIES</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/*Test.java</include>
</includes>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<reportsDirectory>${test.output.dir}</reportsDirectory>
<systemPropertyVariables>
<!-- Defaults -->
<test.exclude>true</test.exclude>
<test.mem>512M</test.mem>
<profile.clustered>false</profile.clustered>
<!-- Profile Based Values -->
<test.output.dir>${test.output.dir}</test.output.dir>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<configuration>
<dependencyDetailsEnabled>false</dependencyDetailsEnabled>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>${license-maven-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<reportSets>
<reportSet>
<reports>
<report>report-only</report>
</reports>
</reportSet>
</reportSets>
<configuration>
<alwaysGenerateSurefireReport>false</alwaysGenerateSurefireReport>
<reportsDirectory>${test.output.dir}</reportsDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>${maven-jxr-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>${apache-rat-plugin-version}</version>
<configuration>
<excludes>
<exclude>build/**</exclude>
<exclude>lib/**</exclude>
<exclude>test-profiles/test_resources/ssl/**</exclude>
<exclude>DEPENDENCIES</exclude>
<exclude>.travis.yml</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</reporting>
<profiles>
<!-- Profile to update the Apache parent pom profile of the same name to prevent source assembly at java build level.-->
<profile>
<id>apache-release</id>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>source-release-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<formats>
<format>tar.gz</format>
</formats>
<tarLongFileMode>gnu</tarLongFileMode>
<finalName>qpid-java-${project.version}</finalName>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-java-for-release</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>${minimum-java-version}</version>
<message>Please, use JDK 1.8 for release</message>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>dependency-check</id>
<!-- Use this profile with the packaging phase, to perform some checks on the module dependencies.
Verifies that only the explicitly included licences have been used for any compile or runtime dependencies,
and additionally for any modules that set 'dependency-change-verification' true also checks for a change in
dependencies against a previous reference output that might signal need for updates to LICENSE and/or NOTICE
files included in their binary assembly files.
-->
<properties>
<license-maven-plugin-output-dir>${project.build.directory}/license-maven-plugin</license-maven-plugin-output-dir>
<dependency-verification-output-dir>${project.build.directory}/dependency-change-verification</dependency-verification-output-dir>
<dependency-verification-generated-file>${dependency-verification-output-dir}/PROCESSED_DEPENDENCIES_INFO</dependency-verification-generated-file>
<dependency-verification-reference-file>${basedir}/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE</dependency-verification-reference-file>
<dependency-change-verification>false</dependency-change-verification>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<!-- version specified in pluginManagement -->
<configuration>
<failIfWarning>true</failIfWarning>
<excludedScopes>provided</excludedScopes>
<outputDirectory>${license-maven-plugin-output-dir}</outputDirectory>
<!-- Exclude logback from being checked, it is dual licensed and lists both licenses in META-INF Bundle-License -->
<!-- Exclude BCEL from being checked, it is ALv2 but doesnt have the necessary metadata -->
<excludedGroups>org.apache.bcel|ch.qos.logback</excludedGroups>
<includedLicenses>
<includedLicense>Apache Software License, Version 2.0</includedLicense>
<includedLicense>The MIT License</includedLicense>
<includedLicense>BSD License</includedLicense>
<includedLicense>Eclipse Public License - Version 1.0</includedLicense>
<includedLicense>Common Public License Version 1.0</includedLicense>
<includedLicense>Academic Free License v2.1</includedLicense>
</includedLicenses>
<licenseMerges>
<licenseMerge>Apache Software License, Version 2.0|The Apache Software License, Version 2.0|Apache Software License - Version 2.0|Apache v2|Apache 2|Apache License, Version 2.0</licenseMerge>
<licenseMerge>The MIT License|MIT License</licenseMerge>
<licenseMerge>BSD License|New BSD|New BSD License|BSD-3-Clause</licenseMerge>
<licenseMerge>Eclipse Public License - Version 1.0|Eclipse Public License - v 1.0</licenseMerge>
<licenseMerge>Academic Free License v2.1|AFL-2.1</licenseMerge>
</licenseMerges>
</configuration>
<executions>
<execution>
<id>check-third-party-licensing</id>
<phase>prepare-package</phase>
<goals>
<goal>add-third-party</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<!--version specified in pluginManagement -->
<executions>
<execution>
<id>dependency-change-verification</id>
<phase>prepare-package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target if="${dependency-change-verification}">
<!-- Set the output location for the generated file -->
<condition property="dependency-verification-output-file" value="${dependency-verification-reference-file}" else="${dependency-verification-generated-file}">
<istrue value="${update-dependency-reference}" />
</condition>
<!-- Output the ALv2 header and a title, then append the DEPENDENCIES file contents,
processing to strip out the qpid module version info -->
<echo>Generating dependency info at: ${dependency-verification-output-file}</echo>
<concat destfile="${dependency-verification-output-file}" append="false">
<header filtering="no" trimleading="yes">
#
# 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.
#
#// ------------------------------------------------------------------
# TRIMMED 3RD PARTY DEPENDENCY INFORMATION FOR MODIFICATION CHECKS
#
</header>
<path path="${project.build.directory}/maven-shared-archive-resources/META-INF/DEPENDENCIES" />
</concat>
<replaceregexp file="${dependency-verification-output-file}" flags="gm" replace="">
<regexp id="stripqpidcontentheader" pattern="^\/\/\ .*\n|^Qpid\ .*\n" />
</replaceregexp>
<replaceregexp file="${dependency-verification-output-file}" flags="gm">
<regexp id="stripqpidcontentversions" pattern="(^.*org.apache.qpid:.*:.*):.*" />
<substitution expression="\1" />
</replaceregexp>
<!-- Ensure the reference file is present -->
<fail message="Dependency info reference file was not present at: ${dependency-verification-reference-file}. You can generate an initial reference file by running again with -Dupdate-dependency-reference.">
<condition>
<not>
<available file="${dependency-verification-reference-file}" />
</not>
</condition>
</fail>
<!-- Compare output to the reference file to check they are the same, fail if they arent -->
<echo>Comparing to against reference info at: ${dependency-verification-reference-file}</echo>
<fail message="Generated dependency info does not match the reference. Ensure LICENCE and NOTICE files are correct and then update the reference by running again with -Dupdate-dependency-reference. Generated file: '${dependency-verification-output-file}'. Reference file: '${dependency-verification-reference-file}'.">
<condition>
<not>
<filesmatch file1="${dependency-verification-output-file}" file2="${dependency-verification-reference-file}" textfile="true" />
</not>
</condition>
</fail>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>