1671 lines
74 KiB
Plaintext
1671 lines
74 KiB
Plaintext
<!--
|
|
~ JBoss, Home of Professional Open Source.
|
|
~ Copyright 2018 Red Hat, Inc., and individual contributors
|
|
~ as indicated by the @author tags.
|
|
~
|
|
~ Licensed 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" child.project.url.inherit.append.path="false">
|
|
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<groupId>org.jboss</groupId>
|
|
<version>43</version>
|
|
<artifactId>jboss-parent</artifactId>
|
|
|
|
<packaging>pom</packaging>
|
|
|
|
<name>JBoss Parent POM</name>
|
|
<description>Provides, via submodules, a base configuration for JBoss project builds, as well as a derived configuration supporting multi-release JARs</description>
|
|
<url>http://www.jboss.org</url>
|
|
|
|
<issueManagement>
|
|
<system>JIRA</system>
|
|
<url>https://issues.redhat.com/</url>
|
|
</issueManagement>
|
|
|
|
<scm child.scm.connection.inherit.append.path="false" child.scm.developerConnection.inherit.append.path="false" child.scm.url.inherit.append.path="false">
|
|
<connection>scm:git:git@github.com:jboss/jboss-parent-pom.git</connection>
|
|
<developerConnection>scm:git:git@github.com:jboss/jboss-parent-pom.git</developerConnection>
|
|
<url>http://github.com/jboss/jboss-parent-pom</url>
|
|
<tag>HEAD</tag>
|
|
</scm>
|
|
|
|
<developers>
|
|
<developer>
|
|
<id>jboss.org</id>
|
|
<name>JBoss.org Community</name>
|
|
<organization>JBoss.org</organization>
|
|
<organizationUrl>http://www.jboss.org</organizationUrl>
|
|
</developer>
|
|
</developers>
|
|
|
|
<mailingLists>
|
|
<mailingList>
|
|
<name>JBoss User List</name>
|
|
<subscribe>https://lists.jboss.org/mailman/listinfo/jboss-user</subscribe>
|
|
<unsubscribe>https://lists.jboss.org/mailman/listinfo/jboss-user</unsubscribe>
|
|
<archive>http://lists.jboss.org/pipermail/jboss-user/</archive>
|
|
</mailingList>
|
|
<mailingList>
|
|
<name>JBoss Developer List</name>
|
|
<subscribe>https://lists.jboss.org/mailman/listinfo/jboss-development</subscribe>
|
|
<unsubscribe>https://lists.jboss.org/mailman/listinfo/jboss-development</unsubscribe>
|
|
<archive>http://lists.jboss.org/pipermail/jboss-development/</archive>
|
|
</mailingList>
|
|
</mailingLists>
|
|
|
|
<licenses>
|
|
<license>
|
|
<name>Apache License 2.0</name>
|
|
<url>https://www.apache.org/licenses/LICENSE-2.0</url>
|
|
<distribution>repo</distribution>
|
|
</license>
|
|
</licenses>
|
|
|
|
<organization>
|
|
<name>JBoss by Red Hat</name>
|
|
<url>http://www.jboss.org</url>
|
|
</organization>
|
|
|
|
<properties>
|
|
<!-- **************** -->
|
|
<!-- Plugins versions -->
|
|
<!-- **************** -->
|
|
<version.antrun.plugin>3.1.0</version.antrun.plugin>
|
|
<version.archetype.plugin>3.2.1</version.archetype.plugin>
|
|
<version.assembly.plugin>3.6.0</version.assembly.plugin>
|
|
<version.buildhelper.plugin>3.5.0</version.buildhelper.plugin>
|
|
<version.buildnumber.plugin>3.2.0</version.buildnumber.plugin>
|
|
<version.bundle.plugin>5.1.9</version.bundle.plugin>
|
|
<version.checkstyle.plugin>3.3.1</version.checkstyle.plugin>
|
|
<version.clean.plugin>3.3.2</version.clean.plugin>
|
|
<version.clover.plugin>4.1.10.1</version.clover.plugin>
|
|
<version.cobertura.plugin>2.7</version.cobertura.plugin>
|
|
<version.compiler.plugin>3.12.1</version.compiler.plugin>
|
|
<version.dependency.plugin>3.6.1</version.dependency.plugin>
|
|
<version.deploy.plugin>3.1.1</version.deploy.plugin>
|
|
<version.download.plugin>1.8.0</version.download.plugin>
|
|
<version.ear.plugin>3.3.0</version.ear.plugin>
|
|
<version.org.eclipse.m2e.lifecycle-mapping>1.0.0</version.org.eclipse.m2e.lifecycle-mapping>
|
|
<version.ejb.plugin>3.2.1</version.ejb.plugin>
|
|
<version.exec.plugin>3.1.1</version.exec.plugin>
|
|
<version.enforcer.plugin>3.4.1</version.enforcer.plugin>
|
|
<version.findbugs.plugin>3.0.5</version.findbugs.plugin>
|
|
<version.gpg.plugin>3.1.0</version.gpg.plugin>
|
|
<version.help.plugin>3.4.0</version.help.plugin>
|
|
<version.injection.plugin>1.0.2</version.injection.plugin>
|
|
<version.install.plugin>3.1.1</version.install.plugin>
|
|
<version.jar.plugin>3.3.0</version.jar.plugin>
|
|
<version.javadoc.plugin>3.6.3</version.javadoc.plugin>
|
|
<version.javancss.plugin>2.1</version.javancss.plugin>
|
|
<version.jxr.plugin>3.3.2</version.jxr.plugin>
|
|
<version.license.plugin>2.3.0</version.license.plugin>
|
|
<version.pir.plugin>2.9</version.pir.plugin><!-- maven-project-info-reports-plugins -->
|
|
<version.plexus.archiver>4.9.1</version.plexus.archiver>
|
|
<version.plugin.plugin>3.10.2</version.plugin.plugin>
|
|
<version.pmd.plugin>3.21.2</version.pmd.plugin>
|
|
<version.rar.plugin>3.0.0</version.rar.plugin>
|
|
<version.release.plugin>3.0.1</version.release.plugin>
|
|
<version.resources.plugin>3.3.1</version.resources.plugin>
|
|
<!-- DO NOT UPGRADE SHADE PLUGIN DEPENDENCY until https://issues.apache.org/jira/browse/MSHADE-419 is resolved -->
|
|
<!-- See also https://github.com/jboss/jboss-parent-pom/issues/210 -->
|
|
<version.shade.plugin>3.2.4</version.shade.plugin>
|
|
<version.site.plugin>3.12.1</version.site.plugin>
|
|
<version.sonar.plugin>3.7.0.1746</version.sonar.plugin>
|
|
<!-- DO NOT UPGRADE SOURCE PLUGIN DEPENDENCY until https://issues.apache.org/jira/browse/MSOURCES-140 is resolved -->
|
|
<version.source.plugin>3.2.1</version.source.plugin>
|
|
<version.surefire.plugin>${version.surefire}</version.surefire.plugin>
|
|
<version.surefire-report.plugin>${version.surefire}</version.surefire-report.plugin>
|
|
<version.failsafe.plugin>${version.surefire}</version.failsafe.plugin>
|
|
<version.versions.plugin>2.16.2</version.versions.plugin>
|
|
<version.war.plugin>3.4.0</version.war.plugin>
|
|
<version.zanata.plugin>4.6.2</version.zanata.plugin>
|
|
|
|
<!-- ***************** -->
|
|
<!-- Other versions -->
|
|
<!-- ***************** -->
|
|
<version.checkstyle>10.12.7</version.checkstyle>
|
|
<version.surefire>3.2.3</version.surefire>
|
|
|
|
<!-- ***************** -->
|
|
<!-- Repository Deployment URLs -->
|
|
<!-- ***************** -->
|
|
<jboss.releases.repo.id>jboss-releases-repository</jboss.releases.repo.id>
|
|
<jboss.releases.repo.url>https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/</jboss.releases.repo.url>
|
|
<jboss.snapshots.repo.id>jboss-snapshots-repository</jboss.snapshots.repo.id>
|
|
<jboss.snapshots.repo.url>https://repository.jboss.org/nexus/content/repositories/snapshots/</jboss.snapshots.repo.url>
|
|
|
|
<!-- ************** -->
|
|
<!-- Build settings -->
|
|
<!-- ************** -->
|
|
|
|
<!-- Cross plugins settings -->
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
|
|
|
<!-- maven-compiler-plugin -->
|
|
<maven.compiler.target>11</maven.compiler.target>
|
|
<maven.compiler.source>11</maven.compiler.source>
|
|
<maven.compiler.testTarget>${maven.compiler.target}</maven.compiler.testTarget>
|
|
<maven.compiler.testSource>${maven.compiler.source}</maven.compiler.testSource>
|
|
|
|
<!--
|
|
Options to override the compiler arguments directly on the compiler argument line to separate between what
|
|
the IDE understands as the source level and what the Maven compiler actually use.
|
|
-->
|
|
<maven.compiler.argument.target>${maven.compiler.target}</maven.compiler.argument.target>
|
|
<maven.compiler.argument.source>${maven.compiler.source}</maven.compiler.argument.source>
|
|
<maven.compiler.argument.testTarget>${maven.compiler.testTarget}</maven.compiler.argument.testTarget>
|
|
<maven.compiler.argument.testSource>${maven.compiler.testSource}</maven.compiler.argument.testSource>
|
|
|
|
<!-- maven-enforcer-plugin -->
|
|
<maven.min.version>3.6.2</maven.min.version>
|
|
<jdk.min.version>${maven.compiler.argument.source}</jdk.min.version>
|
|
<insecure.repositories>ERROR</insecure.repositories>
|
|
|
|
<!-- maven-idea-plugin & maven-eclipse-plugin -->
|
|
<downloadSources>true</downloadSources>
|
|
|
|
<!-- maven-pmd-plugin -->
|
|
<targetJdk>${maven.compiler.argument.target}</targetJdk>
|
|
|
|
<!-- maven-release-plugin -->
|
|
<useReleaseProfile>false</useReleaseProfile>
|
|
<arguments>-Pjboss-release</arguments>
|
|
|
|
<!-- maven-assembly-plugin -->
|
|
<sourceReleaseAssemblyDescriptor>source-release</sourceReleaseAssemblyDescriptor>
|
|
<!-- exposed additional params for javadoc, such as Xlint -->
|
|
<javadoc.additional.params>-Xdoclint:none</javadoc.additional.params>
|
|
</properties>
|
|
|
|
<build>
|
|
|
|
<pluginManagement>
|
|
<!-- All plugins ordered by shortname (antrun, assembly ...) -->
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<version>${version.antrun.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-archetype-plugin</artifactId>
|
|
<version>${version.archetype.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<version>${version.assembly.plugin}</version>
|
|
<configuration>
|
|
<archive>
|
|
<index>true</index>
|
|
<manifest>
|
|
<addDefaultSpecificationEntries>
|
|
true
|
|
</addDefaultSpecificationEntries>
|
|
<addDefaultImplementationEntries>
|
|
true
|
|
</addDefaultImplementationEntries>
|
|
</manifest>
|
|
<manifestEntries>
|
|
<Implementation-URL>${project.url}</Implementation-URL>
|
|
<Java-Version>${java.version}</Java-Version>
|
|
<Java-Vendor>${java.vendor}</Java-Vendor>
|
|
<Os-Name>${os.name}</Os-Name>
|
|
<Os-Arch>${os.arch}</Os-Arch>
|
|
<Os-Version>${os.version}</Os-Version>
|
|
<Scm-Url>${project.scm.url}</Scm-Url>
|
|
<Scm-Connection>${project.scm.connection}</Scm-Connection>
|
|
<Scm-Revision>${buildNumber}</Scm-Revision>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<version>${version.buildhelper.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>buildnumber-maven-plugin</artifactId>
|
|
<version>${version.buildnumber.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.googlecode.maven-download-plugin</groupId>
|
|
<artifactId>download-maven-plugin</artifactId>
|
|
<version>${version.download.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.felix</groupId>
|
|
<artifactId>maven-bundle-plugin</artifactId>
|
|
<version>${version.bundle.plugin}</version>
|
|
<configuration>
|
|
<archive>
|
|
<index>true</index>
|
|
<manifest>
|
|
<addDefaultSpecificationEntries>
|
|
true
|
|
</addDefaultSpecificationEntries>
|
|
<addDefaultImplementationEntries>
|
|
true
|
|
</addDefaultImplementationEntries>
|
|
</manifest>
|
|
<manifestEntries>
|
|
<Implementation-URL>${project.url}</Implementation-URL>
|
|
<Java-Version>${java.version}</Java-Version>
|
|
<Java-Vendor>${java.vendor}</Java-Vendor>
|
|
<Os-Name>${os.name}</Os-Name>
|
|
<Os-Arch>${os.arch}</Os-Arch>
|
|
<Os-Version>${os.version}</Os-Version>
|
|
<Scm-Url>${project.scm.url}</Scm-Url>
|
|
<Scm-Connection>${project.scm.connection}</Scm-Connection>
|
|
</manifestEntries>
|
|
</archive>
|
|
<instructions>
|
|
<Scm-Revision>${buildNumber}</Scm-Revision>
|
|
</instructions>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
<version>${version.checkstyle.plugin}</version>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.puppycrawl.tools</groupId>
|
|
<artifactId>checkstyle</artifactId>
|
|
<version>${version.checkstyle}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>com.sun</groupId>
|
|
<artifactId>tools</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
</dependencies>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-clean-plugin</artifactId>
|
|
<version>${version.clean.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.atlassian.maven.plugins</groupId>
|
|
<artifactId>clover-maven-plugin</artifactId>
|
|
<version>${version.clover.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>cobertura-maven-plugin</artifactId>
|
|
<version>${version.cobertura.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>${version.compiler.plugin}</version>
|
|
<configuration>
|
|
<showDeprecation>true</showDeprecation>
|
|
<showWarnings>true</showWarnings>
|
|
<source>${maven.compiler.argument.source}</source>
|
|
<target>${maven.compiler.argument.target}</target>
|
|
<testSource>${maven.compiler.argument.testSource}</testSource>
|
|
<testTarget>${maven.compiler.argument.testTarget}</testTarget>
|
|
<compilerArgs>
|
|
<arg>-Xlint:unchecked</arg>
|
|
</compilerArgs>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<version>${version.dependency.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-deploy-plugin</artifactId>
|
|
<version>${version.deploy.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-ear-plugin</artifactId>
|
|
<version>${version.ear.plugin}</version>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.codehaus.plexus</groupId>
|
|
<artifactId>plexus-archiver</artifactId>
|
|
<version>${version.plexus.archiver}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
<configuration>
|
|
<archive>
|
|
<index>true</index>
|
|
<manifest>
|
|
<addDefaultSpecificationEntries>
|
|
true
|
|
</addDefaultSpecificationEntries>
|
|
<addDefaultImplementationEntries>
|
|
true
|
|
</addDefaultImplementationEntries>
|
|
</manifest>
|
|
<manifestEntries>
|
|
<Implementation-URL>${project.url}</Implementation-URL>
|
|
<Java-Version>${java.version}</Java-Version>
|
|
<Java-Vendor>${java.vendor}</Java-Vendor>
|
|
<Os-Name>${os.name}</Os-Name>
|
|
<Os-Arch>${os.arch}</Os-Arch>
|
|
<Os-Version>${os.version}</Os-Version>
|
|
<Scm-Url>${project.scm.url}</Scm-Url>
|
|
<Scm-Connection>${project.scm.connection}</Scm-Connection>
|
|
<Scm-Revision>${buildNumber}</Scm-Revision>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-ejb-plugin</artifactId>
|
|
<version>${version.ejb.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<version>${version.enforcer.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>exec-maven-plugin</artifactId>
|
|
<version>${version.exec.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-failsafe-plugin</artifactId>
|
|
<version>${version.failsafe.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>findbugs-maven-plugin</artifactId>
|
|
<version>${version.findbugs.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-gpg-plugin</artifactId>
|
|
<version>${version.gpg.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-help-plugin</artifactId>
|
|
<version>${version.help.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.jboss.maven.plugins</groupId>
|
|
<artifactId>maven-injection-plugin</artifactId>
|
|
<version>${version.injection.plugin}</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>bytecode</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-install-plugin</artifactId>
|
|
<version>${version.install.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>${version.jar.plugin}</version>
|
|
<configuration>
|
|
<archive>
|
|
<index>true</index>
|
|
<manifest>
|
|
<addDefaultSpecificationEntries>
|
|
true
|
|
</addDefaultSpecificationEntries>
|
|
<addDefaultImplementationEntries>
|
|
true
|
|
</addDefaultImplementationEntries>
|
|
</manifest>
|
|
<manifestEntries>
|
|
<Implementation-URL>${project.url}</Implementation-URL>
|
|
<Java-Version>${java.version}</Java-Version>
|
|
<Scm-Url>${project.scm.url}</Scm-Url>
|
|
<Scm-Connection>${project.scm.connection}</Scm-Connection>
|
|
<Scm-Revision>${buildNumber}</Scm-Revision>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<version>${version.javadoc.plugin}</version>
|
|
<configuration>
|
|
<header><![CDATA[<b>${project.name} ${project.version}</b>]]></header>
|
|
<footer><![CDATA[<b>${project.name} ${project.version}</b>]]></footer>
|
|
<archive>
|
|
<index>true</index>
|
|
<manifest>
|
|
<addDefaultSpecificationEntries>
|
|
true
|
|
</addDefaultSpecificationEntries>
|
|
<addDefaultImplementationEntries>
|
|
true
|
|
</addDefaultImplementationEntries>
|
|
</manifest>
|
|
<manifestEntries>
|
|
<Implementation-URL>${project.url}</Implementation-URL>
|
|
<Java-Version>${java.version}</Java-Version>
|
|
<Java-Vendor>${java.vendor}</Java-Vendor>
|
|
<Os-Name>${os.name}</Os-Name>
|
|
<Os-Arch>${os.arch}</Os-Arch>
|
|
<Os-Version>${os.version}</Os-Version>
|
|
<Scm-Url>${project.scm.url}</Scm-Url>
|
|
<Scm-Connection>${project.scm.connection}</Scm-Connection>
|
|
<Scm-Revision>${buildNumber}</Scm-Revision>
|
|
</manifestEntries>
|
|
</archive>
|
|
<!--
|
|
Since maven-javadoc-plugin 3.0.0 additionalparam is not not working anymore.
|
|
Therefore additionalOptions has been introduced, but old configuration is kept for backward compatibility
|
|
in case you are using this parent pom with overwritten version of maven-javadoc-plugin
|
|
-->
|
|
<additionalparam>${javadoc.additional.params}</additionalparam>
|
|
<additionalOptions>${javadoc.additional.params}</additionalOptions>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>javancss-maven-plugin</artifactId>
|
|
<version>${version.javancss.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jxr-plugin</artifactId>
|
|
<version>${version.jxr.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>license-maven-plugin</artifactId>
|
|
<version>${version.license.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-plugin-plugin</artifactId>
|
|
<version>${version.plugin.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-pmd-plugin</artifactId>
|
|
<version>${version.pmd.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-rar-plugin</artifactId>
|
|
<version>${version.rar.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-release-plugin</artifactId>
|
|
<version>${version.release.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<version>${version.resources.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<version>${version.shade.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-site-plugin</artifactId>
|
|
<version>${version.site.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>sonar-maven-plugin</artifactId>
|
|
<version>${version.sonar.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-source-plugin</artifactId>
|
|
<version>${version.source.plugin}</version>
|
|
<configuration>
|
|
<archive>
|
|
<index>true</index>
|
|
<manifest>
|
|
<addDefaultSpecificationEntries>
|
|
true
|
|
</addDefaultSpecificationEntries>
|
|
<addDefaultImplementationEntries>
|
|
true
|
|
</addDefaultImplementationEntries>
|
|
</manifest>
|
|
<manifestEntries>
|
|
<Implementation-URL>${project.url}</Implementation-URL>
|
|
<Java-Version>${java.version}</Java-Version>
|
|
<Java-Vendor>${java.vendor}</Java-Vendor>
|
|
<Os-Name>${os.name}</Os-Name>
|
|
<Os-Arch>${os.arch}</Os-Arch>
|
|
<Os-Version>${os.version}</Os-Version>
|
|
<Scm-Url>${project.scm.url}</Scm-Url>
|
|
<Scm-Connection>${project.scm.connection}</Scm-Connection>
|
|
<Scm-Revision>${buildNumber}</Scm-Revision>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>${version.surefire.plugin}</version>
|
|
<configuration>
|
|
<trimStackTrace>false</trimStackTrace>
|
|
<systemPropertyVariables>
|
|
<java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
|
|
</systemPropertyVariables>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-report-plugin</artifactId>
|
|
<version>${version.surefire-report.plugin}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>versions-maven-plugin</artifactId>
|
|
<version>${version.versions.plugin}</version>
|
|
<configuration>
|
|
<generateBackupPoms>false</generateBackupPoms>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-war-plugin</artifactId>
|
|
<version>${version.war.plugin}</version>
|
|
<configuration>
|
|
<archive>
|
|
<index>true</index>
|
|
<manifest>
|
|
<addDefaultSpecificationEntries>
|
|
true
|
|
</addDefaultSpecificationEntries>
|
|
<addDefaultImplementationEntries>
|
|
true
|
|
</addDefaultImplementationEntries>
|
|
</manifest>
|
|
<manifestEntries>
|
|
<Implementation-URL>${project.url}</Implementation-URL>
|
|
<Java-Version>${java.version}</Java-Version>
|
|
<Java-Vendor>${java.vendor}</Java-Vendor>
|
|
<Os-Name>${os.name}</Os-Name>
|
|
<Os-Arch>${os.arch}</Os-Arch>
|
|
<Os-Version>${os.version}</Os-Version>
|
|
<Scm-Url>${project.scm.url}</Scm-Url>
|
|
<Scm-Connection>${project.scm.connection}</Scm-Connection>
|
|
<Scm-Revision>${buildNumber}</Scm-Revision>
|
|
</manifestEntries>
|
|
</archive>
|
|
<failOnMissingWebXml>false</failOnMissingWebXml>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.zanata</groupId>
|
|
<artifactId>zanata-maven-plugin</artifactId>
|
|
<version>${version.zanata.plugin}</version>
|
|
</plugin>
|
|
|
|
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
|
|
<plugin>
|
|
<groupId>org.eclipse.m2e</groupId>
|
|
<artifactId>lifecycle-mapping</artifactId>
|
|
<version>${version.org.eclipse.m2e.lifecycle-mapping}</version>
|
|
<configuration>
|
|
<lifecycleMappingMetadata>
|
|
<pluginExecutions>
|
|
<!-- Configure m2e to execute the manifest goal of the bundle plugin, if present. -->
|
|
<pluginExecution>
|
|
<pluginExecutionFilter>
|
|
<groupId>org.apache.felix</groupId>
|
|
<artifactId>maven-bundle-plugin</artifactId>
|
|
<versionRange>[2.3.7,)</versionRange>
|
|
<goals>
|
|
<goal>manifest</goal>
|
|
</goals>
|
|
</pluginExecutionFilter>
|
|
<action>
|
|
<execute />
|
|
</action>
|
|
</pluginExecution>
|
|
<!-- Configure m2e to ignore the Maven enforcer plugin -->
|
|
<pluginExecution>
|
|
<pluginExecutionFilter>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<versionRange>[1.3.1,)</versionRange>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
</pluginExecutionFilter>
|
|
<action>
|
|
<ignore />
|
|
</action>
|
|
</pluginExecution>
|
|
<!-- Configure m2e to ignore the buildnumber-maven-plugin. -->
|
|
<pluginExecution>
|
|
<pluginExecutionFilter>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>buildnumber-maven-plugin</artifactId>
|
|
<versionRange>[1.0.0,)</versionRange>
|
|
<goals>
|
|
<goal>create</goal>
|
|
</goals>
|
|
</pluginExecutionFilter>
|
|
<action>
|
|
<ignore />
|
|
</action>
|
|
</pluginExecution>
|
|
</pluginExecutions>
|
|
</lifecycleMappingMetadata>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
</plugins>
|
|
|
|
</pluginManagement>
|
|
|
|
<plugins>
|
|
|
|
<!-- Check for the minimum version of Java and Maven. Runs during the validate phase. -->
|
|
<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>
|
|
<bannedRepositories>
|
|
<message>To build this project, don't use maven repositories over HTTP. Please use HTTPS in your settings.xml or run the build with property insecure.repositories=WARN</message>
|
|
<level>${insecure.repositories}</level>
|
|
<bannedRepositories>
|
|
<bannedRepository>http://*</bannedRepository>
|
|
</bannedRepositories>
|
|
<bannedPluginRepositories>
|
|
<bannedPluginRepository>http://*</bannedPluginRepository>
|
|
</bannedPluginRepositories>
|
|
</bannedRepositories>
|
|
<requireJavaVersion>
|
|
<message>To build this project JDK ${jdk.min.version} (or greater) is required. Please install it.</message>
|
|
<version>${jdk.min.version}</version>
|
|
</requireJavaVersion>
|
|
</rules>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>enforce-maven-version</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<configuration>
|
|
<rules>
|
|
<requireMavenVersion>
|
|
<message>To build this project Maven ${maven.min.version} (or greater) is required. Please install it.</message>
|
|
<version>${maven.min.version}</version>
|
|
</requireMavenVersion>
|
|
</rules>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Set properties containing the scm revision -->
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>buildnumber-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>get-scm-revision</id>
|
|
<phase>initialize</phase>
|
|
<goals>
|
|
<goal>create</goal>
|
|
</goals>
|
|
<configuration>
|
|
<doCheck>false</doCheck>
|
|
<doUpdate>false</doUpdate>
|
|
<revisionOnScmFailure>UNKNOWN</revisionOnScmFailure>
|
|
<getRevisionOnlyOnce>true</getRevisionOnlyOnce>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Attach source jar to all builds. Runs during the package phase.-->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-source-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-sources</id>
|
|
<goals>
|
|
<goal>jar-no-fork</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
</plugins>
|
|
|
|
</build>
|
|
|
|
<profiles>
|
|
|
|
<!--
|
|
The profile jboss-release must be active when a project is released. The configuration
|
|
in this POM will automatically call this profile if using the maven-release-plugin.
|
|
If the maven-release-plugin is not used during the release, this profile must
|
|
be manually activated.
|
|
-->
|
|
<profile>
|
|
<id>jboss-release</id>
|
|
<build>
|
|
<plugins>
|
|
<!-- Create a source-release artifact that contains the fully buildable
|
|
project directory source structure. This should be released to
|
|
the Maven repository for each JBoss project release. -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<version>${version.assembly.plugin}</version>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.apache.resources</groupId>
|
|
<artifactId>apache-source-release-assembly-descriptor</artifactId>
|
|
<version>1.5</version>
|
|
</dependency>
|
|
</dependencies>
|
|
<executions>
|
|
<execution>
|
|
<id>source-release-assembly</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<configuration>
|
|
<runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
|
|
<descriptorRefs>
|
|
<descriptorRef>${sourceReleaseAssemblyDescriptor}</descriptorRef>
|
|
</descriptorRefs>
|
|
<tarLongFileMode>gnu</tarLongFileMode>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-deploy-plugin</artifactId>
|
|
<configuration>
|
|
<altReleaseDeploymentRepository>${jboss.releases.repo.id}::${jboss.releases.repo.url}</altReleaseDeploymentRepository>
|
|
<altSnapshotDeploymentRepository>${jboss.snapshots.repo.id}::${jboss.snapshots.repo.url}</altSnapshotDeploymentRepository>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-javadocs</id>
|
|
<goals>
|
|
<goal>jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<!--
|
|
This profile can be activated to generate gpg signatures for all build
|
|
artifacts. This profile requires that the properties "gpg.keyname"
|
|
and "gpg.passphrase" are available to the current build.
|
|
-->
|
|
<profile>
|
|
<id>gpg-sign</id>
|
|
<build>
|
|
<plugins>
|
|
<!-- This will sign the artifact, the POM, and all attached artifacts -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-gpg-plugin</artifactId>
|
|
<configuration>
|
|
<useAgent>true</useAgent>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>sign</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- MR JAR support begins here -->
|
|
|
|
<!-- Release flags -->
|
|
|
|
<profile>
|
|
<id>compile-java11-release-flag</id>
|
|
<activation>
|
|
<file>
|
|
<exists>${basedir}/build-release-11</exists>
|
|
</file>
|
|
<jdk>[11,)</jdk>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>default-compile</id>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<release>11</release>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>compile-java17-release-flag</id>
|
|
<activation>
|
|
<file>
|
|
<exists>${basedir}/build-release-17</exists>
|
|
</file>
|
|
<jdk>[17,)</jdk>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>default-compile</id>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<release>17</release>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>compile-java21-release-flag</id>
|
|
<activation>
|
|
<file>
|
|
<exists>${basedir}/build-release-21</exists>
|
|
</file>
|
|
<jdk>[21,)</jdk>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>default-compile</id>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<release>21</release>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- This profile is activated when Java 12 or later is used to test a project that supports Java 11 -->
|
|
<profile>
|
|
<id>java11-test</id>
|
|
<activation>
|
|
<jdk>[12,)</jdk>
|
|
<property>
|
|
<name>java11.home</name>
|
|
</property>
|
|
<file>
|
|
<exists>${basedir}/build-test-java11</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>java11-test</id>
|
|
<phase>test</phase>
|
|
<goals>
|
|
<goal>test</goal>
|
|
</goals>
|
|
<configuration>
|
|
<jvm>${java11.home}/bin/java</jvm>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- This profile is activated when Java 12 or later is used to build -->
|
|
<profile>
|
|
<id>java12-mr-build</id>
|
|
<activation>
|
|
<jdk>[12,)</jdk>
|
|
<file>
|
|
<exists>${basedir}/src/main/java12</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>compile-java12</id>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<release>12</release>
|
|
<buildDirectory>${project.build.directory}</buildDirectory>
|
|
<compileSourceRoots>${project.basedir}/src/main/java12</compileSourceRoots>
|
|
<multiReleaseOutput>true</multiReleaseOutput>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<configuration>
|
|
<archive>
|
|
<manifestEntries>
|
|
<Multi-Release>true</Multi-Release>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- This profile is activated when Java 13 or later is used to build -->
|
|
<profile>
|
|
<id>java13-mr-build</id>
|
|
<activation>
|
|
<jdk>[13,)</jdk>
|
|
<file>
|
|
<exists>${basedir}/src/main/java13</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>compile-java13</id>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<release>13</release>
|
|
<buildDirectory>${project.build.directory}</buildDirectory>
|
|
<compileSourceRoots>${project.basedir}/src/main/java13</compileSourceRoots>
|
|
<multiReleaseOutput>true</multiReleaseOutput>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<configuration>
|
|
<archive>
|
|
<manifestEntries>
|
|
<Multi-Release>true</Multi-Release>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- This profile is activated when Java 14 or later is used to build -->
|
|
<profile>
|
|
<id>java14-mr-build</id>
|
|
<activation>
|
|
<jdk>[14,)</jdk>
|
|
<file>
|
|
<exists>${basedir}/src/main/java14</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>compile-java14</id>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<release>14</release>
|
|
<buildDirectory>${project.build.directory}</buildDirectory>
|
|
<compileSourceRoots>${project.basedir}/src/main/java14</compileSourceRoots>
|
|
<multiReleaseOutput>true</multiReleaseOutput>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<configuration>
|
|
<archive>
|
|
<manifestEntries>
|
|
<Multi-Release>true</Multi-Release>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- This profile is activated when Java 15 or later is used to build -->
|
|
<profile>
|
|
<id>java15-mr-build</id>
|
|
<activation>
|
|
<jdk>[15,)</jdk>
|
|
<file>
|
|
<exists>${basedir}/src/main/java15</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>compile-java15</id>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<release>15</release>
|
|
<buildDirectory>${project.build.directory}</buildDirectory>
|
|
<compileSourceRoots>${project.basedir}/src/main/java15</compileSourceRoots>
|
|
<multiReleaseOutput>true</multiReleaseOutput>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<configuration>
|
|
<archive>
|
|
<manifestEntries>
|
|
<Multi-Release>true</Multi-Release>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- This profile is activated when Java 16 or later is used to build -->
|
|
<profile>
|
|
<id>java16-mr-build</id>
|
|
<activation>
|
|
<jdk>[16,)</jdk>
|
|
<file>
|
|
<exists>${basedir}/src/main/java16</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>compile-java16</id>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<release>16</release>
|
|
<buildDirectory>${project.build.directory}</buildDirectory>
|
|
<compileSourceRoots>${project.basedir}/src/main/java16</compileSourceRoots>
|
|
<multiReleaseOutput>true</multiReleaseOutput>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<configuration>
|
|
<archive>
|
|
<manifestEntries>
|
|
<Multi-Release>true</Multi-Release>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- This profile is activated when Java 17 or later is used to build -->
|
|
<profile>
|
|
<id>java17-mr-build</id>
|
|
<activation>
|
|
<jdk>[17,)</jdk>
|
|
<file>
|
|
<exists>${basedir}/src/main/java17</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>compile-java17</id>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<release>17</release>
|
|
<buildDirectory>${project.build.directory}</buildDirectory>
|
|
<compileSourceRoots>${project.basedir}/src/main/java17</compileSourceRoots>
|
|
<multiReleaseOutput>true</multiReleaseOutput>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<configuration>
|
|
<archive>
|
|
<manifestEntries>
|
|
<Multi-Release>true</Multi-Release>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- This profile is activated when Java 18 or later is used to test a project that supports Java 17 -->
|
|
<profile>
|
|
<id>java17-test</id>
|
|
<activation>
|
|
<jdk>[18,)</jdk>
|
|
<property>
|
|
<name>java17.home</name>
|
|
</property>
|
|
<file>
|
|
<exists>${basedir}/build-test-java17</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>java17-test</id>
|
|
<phase>test</phase>
|
|
<goals>
|
|
<goal>test</goal>
|
|
</goals>
|
|
<configuration>
|
|
<jvm>${java17.home}/bin/java</jvm>
|
|
<classesDirectory>${project.build.directory}/classes/META-INF/versions/17
|
|
</classesDirectory>
|
|
<additionalClasspathElements>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/16
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/15
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/14
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/13
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/12
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>${project.build.outputDirectory}
|
|
</additionalClasspathElement>
|
|
</additionalClasspathElements>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- This profile is activated when the baseline JDK version running tests is Java 17 -->
|
|
<profile>
|
|
<id>java17-test-classpath</id>
|
|
<activation>
|
|
<jdk>[17,18)</jdk>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>default-test</id>
|
|
<configuration>
|
|
<classesDirectory>${project.build.outputDirectory}/META-INF/versions/17
|
|
</classesDirectory>
|
|
<additionalClasspathElements>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/16
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/15
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/14
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/13
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/12
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>${project.build.outputDirectory}
|
|
</additionalClasspathElement>
|
|
</additionalClasspathElements>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- This profile is activated when Java 18 or later is used to build -->
|
|
<profile>
|
|
<id>java18-mr-build</id>
|
|
<activation>
|
|
<jdk>[18,)</jdk>
|
|
<file>
|
|
<exists>${basedir}/src/main/java18</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>compile-java18</id>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<release>18</release>
|
|
<buildDirectory>${project.build.directory}</buildDirectory>
|
|
<compileSourceRoots>${project.basedir}/src/main/java18</compileSourceRoots>
|
|
<multiReleaseOutput>true</multiReleaseOutput>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<configuration>
|
|
<archive>
|
|
<manifestEntries>
|
|
<Multi-Release>true</Multi-Release>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- This profile is activated when Java 19 or later is used to build -->
|
|
<profile>
|
|
<id>java19-mr-build</id>
|
|
<activation>
|
|
<jdk>[19,)</jdk>
|
|
<file>
|
|
<exists>${basedir}/src/main/java19</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>compile-java19</id>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<release>19</release>
|
|
<buildDirectory>${project.build.directory}</buildDirectory>
|
|
<compileSourceRoots>${project.basedir}/src/main/java19</compileSourceRoots>
|
|
<multiReleaseOutput>true</multiReleaseOutput>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<configuration>
|
|
<archive>
|
|
<manifestEntries>
|
|
<Multi-Release>true</Multi-Release>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- This profile is activated when Java 20 or later is used to build -->
|
|
<profile>
|
|
<id>java20-mr-build</id>
|
|
<activation>
|
|
<jdk>[20,)</jdk>
|
|
<file>
|
|
<exists>${basedir}/src/main/java20</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>compile-java20</id>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<release>20</release>
|
|
<buildDirectory>${project.build.directory}</buildDirectory>
|
|
<compileSourceRoots>${project.basedir}/src/main/java20</compileSourceRoots>
|
|
<multiReleaseOutput>true</multiReleaseOutput>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<configuration>
|
|
<archive>
|
|
<manifestEntries>
|
|
<Multi-Release>true</Multi-Release>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- This profile is activated when Java 21 or later is used to build -->
|
|
<profile>
|
|
<id>java21-mr-build</id>
|
|
<activation>
|
|
<jdk>[21,)</jdk>
|
|
<file>
|
|
<exists>${basedir}/src/main/java21</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>compile-java21</id>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<release>21</release>
|
|
<buildDirectory>${project.build.directory}</buildDirectory>
|
|
<compileSourceRoots>${project.basedir}/src/main/java21</compileSourceRoots>
|
|
<multiReleaseOutput>true</multiReleaseOutput>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<configuration>
|
|
<archive>
|
|
<manifestEntries>
|
|
<Multi-Release>true</Multi-Release>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- This profile is activated when Java 22 or later is used to test a project that supports Java 21 -->
|
|
<profile>
|
|
<id>java21-test</id>
|
|
<activation>
|
|
<jdk>[22,)</jdk>
|
|
<property>
|
|
<name>java21.home</name>
|
|
</property>
|
|
<file>
|
|
<exists>${basedir}/build-test-java21</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>java21-test</id>
|
|
<phase>test</phase>
|
|
<goals>
|
|
<goal>test</goal>
|
|
</goals>
|
|
<configuration>
|
|
<jvm>${java21.home}/bin/java</jvm>
|
|
<classesDirectory>${project.build.directory}/classes/META-INF/versions/21
|
|
</classesDirectory>
|
|
<additionalClasspathElements>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/20
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/19
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/18
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/17
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/16
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/15
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/14
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/13
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/12
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>${project.build.outputDirectory}
|
|
</additionalClasspathElement>
|
|
</additionalClasspathElements>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- This profile is activated when the baseline JDK version running tests is Java 21 -->
|
|
<profile>
|
|
<id>java21-test-classpath</id>
|
|
<activation>
|
|
<jdk>[21,22)</jdk>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>default-test</id>
|
|
<configuration>
|
|
<classesDirectory>${project.build.outputDirectory}/META-INF/versions/21
|
|
</classesDirectory>
|
|
<additionalClasspathElements>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/20
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/19
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/18
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/17
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/16
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/15
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/14
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/13
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>
|
|
${project.build.directory}/classes/META-INF/versions/12
|
|
</additionalClasspathElement>
|
|
<additionalClasspathElement>${project.build.outputDirectory}
|
|
</additionalClasspathElement>
|
|
</additionalClasspathElements>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
</profiles>
|
|
</project>
|