Files
helidon/pom.xml
2020-08-14 21:51:55 +00:00

1321 lines
65 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 Oracle and/or its affiliates.
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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.helidon</groupId>
<artifactId>helidon-dependencies</artifactId>
<version>1.4.7</version>
<relativePath>./dependencies/pom.xml</relativePath>
</parent>
<artifactId>helidon-project</artifactId>
<packaging>pom</packaging>
<name>Helidon Project</name>
<description>Java libraries for writing microservices</description>
<properties>
<doclint>all</doclint>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<surefire.argLine>-Xmx1024m -Dfile.encoding=UTF-8</surefire.argLine>
<failsafe.argLine>-Xmx1024m -Dfile.encoding=UTF-8</failsafe.argLine>
<surefire.coverage.argline />
<failsafe.coverage.argline />
<spotbugs.skip>false</spotbugs.skip>
<spotbugs.threshold>Medium</spotbugs.threshold>
<!--
!Version statement! - begin
Changing these version requires approval for a new third party dependency!
-->
<version.lib.arquillian>1.4.0.Final</version.lib.arquillian>
<version.lib.arquillian-weld-embedded>2.0.0.Final</version.lib.arquillian-weld-embedded>
<version.lib.asciidoctor.diagram>1.5.4.1</version.lib.asciidoctor.diagram>
<version.lib.asm>6.0</version.lib.asm>
<version.lib.checkstyle>8.29</version.lib.checkstyle>
<version.lib.classfilewriter>1.2.4.Final</version.lib.classfilewriter>
<version.lib.groovy-all>2.4.14</version.lib.groovy-all>
<version.lib.jgit>4.9.9.201903122025-r</version.lib.jgit>
<version.lib.jsch>0.1.55</version.lib.jsch>
<version.lib.netty.tcnative>2.0.26.Final</version.lib.netty.tcnative>
<version.lib.restito>0.9.1</version.lib.restito>
<version.lib.rxjava2-jdk9-interop>0.1.0</version.lib.rxjava2-jdk9-interop>
<version.lib.rxjava>2.0.8</version.lib.rxjava>
<!-- This is to force upgrade of transitive dep from arquillian -->
<!-- 2.x versions used http (not https) to access maven central -->
<version.lib.shrinkwrap-resolver>3.0.1</version.lib.shrinkwrap-resolver>
<version.lib.spotbugs-annotations>3.1.12</version.lib.spotbugs-annotations>
<version.lib.surefire.testng>3.0.0-M3</version.lib.surefire.testng>
<version.lib.testng>6.13.1</version.lib.testng>
<version.lib.zipkin.junit>2.12.5</version.lib.zipkin.junit>
<version.lib.bedrock>5.0.11</version.lib.bedrock>
<version.lib.okhttp3>3.14.1</version.lib.okhttp3>
<version.lib.awaitility>3.1.6</version.lib.awaitility>
<version.lib.weld-junit>2.0.0.Final</version.lib.weld-junit>
<!--
!Version statement! - end
-->
<!-- maven plugin versions -->
<version.plugin.archetype-packaging>3.1.2</version.plugin.archetype-packaging>
<version.plugin.archetype>3.1.2</version.plugin.archetype>
<version.plugin.build-helper>1.12</version.plugin.build-helper>
<version.plugin.checkstyle>3.1.0</version.plugin.checkstyle>
<version.plugin.compiler>3.8.1</version.plugin.compiler>
<version.plugin.dependency>3.0.0</version.plugin.dependency>
<version.plugin.directory>0.1</version.plugin.directory>
<version.plugin.eclipselink>2.7.1.1</version.plugin.eclipselink>
<version.plugin.enforcer>1.4.1</version.plugin.enforcer>
<version.plugin.enforcer>3.0.0-M1</version.plugin.enforcer>
<version.plugin.exec>1.6.0</version.plugin.exec>
<version.plugin.failsafe>2.19.1</version.plugin.failsafe>
<version.plugin.glassfish-copyright>2.3</version.plugin.glassfish-copyright>
<version.plugin.helidon-build-tools>1.2.0</version.plugin.helidon-build-tools>
<version.plugin.hibernate-enhance>${version.lib.hibernate}</version.plugin.hibernate-enhance>
<version.plugin.jacoco>0.7.9</version.plugin.jacoco>
<version.plugin.jandex>1.0.6</version.plugin.jandex>
<version.plugin.jar>3.0.2</version.plugin.jar>
<version.plugin.javadoc>3.1.1</version.plugin.javadoc>
<version.plugin.jaxb>0.14.0</version.plugin.jaxb>
<version.plugin.license>1.16</version.plugin.license>
<version.plugin.os>1.5.0.Final</version.plugin.os>
<version.plugin.project-info-reports>3.0.0</version.plugin.project-info-reports>
<version.plugin.protobuf>0.5.1</version.plugin.protobuf>
<version.plugin.resources>2.7</version.plugin.resources>
<version.plugin.scm-publish-plugin>3.0.0</version.plugin.scm-publish-plugin>
<version.plugin.shade>3.0.0</version.plugin.shade>
<version.plugin.site>3.7.1</version.plugin.site>
<version.plugin.source>3.0.1</version.plugin.source>
<version.plugin.spotbugs>3.1.12</version.plugin.spotbugs>
<version.plugin.surefire.provider.junit>1.0.3</version.plugin.surefire.provider.junit>
<version.plugin.surefire>2.19.1</version.plugin.surefire>
<version.plugin.toolchains>1.1</version.plugin.toolchains>
<version.plugin.version-plugin>2.3</version.plugin.version-plugin>
<version.plugin.buildnumber>1.4</version.plugin.buildnumber>
<version.plugin.wiremock>2.7.0</version.plugin.wiremock>
<javadoc.link.jackson-annotations>https://fasterxml.github.io/jackson-annotations/javadoc/2.9/</javadoc.link.jackson-annotations>
<javadoc.link.jackson-core>https://fasterxml.github.io/jackson-core/javadoc/2.9/</javadoc.link.jackson-core>
<javadoc.link.jackson-databind>https://fasterxml.github.io/jackson-databind/javadoc/2.9/</javadoc.link.jackson-databind>
<javadoc.link.jaxrs>https://jax-rs.github.io/apidocs/${version.lib.jaxrs-api}</javadoc.link.jaxrs>
<javadoc.link.netty>https://static.javadoc.io/io.netty/netty-transport/${version.lib.netty}</javadoc.link.netty>
<javadoc.link.cdi>http://docs.jboss.org/cdi/api/${version.lib.cdi-api}</javadoc.link.cdi>
<javadoc.link.javax-inject>http://javax-inject.github.io/javax-inject/api/</javadoc.link.javax-inject>
<javadoc.link.reactive-streams>http://www.reactive-streams.org/reactive-streams-${version.lib.reactivestreams}-javadoc</javadoc.link.reactive-streams>
<javadoc.link.jersey>https://jersey.github.io/apidocs/2.28/jersey</javadoc.link.jersey>
<javadoc.link.typesafe-config>https://static.javadoc.io/com.typesafe/config/${version.lib.typesafe-config}</javadoc.link.typesafe-config>
<javadoc.link.netty-transport>https://static.javadoc.io/io.netty/netty-transport/${version.lib.netty}</javadoc.link.netty-transport>
<javadoc.link.opentracing>https://static.javadoc.io/io.opentracing/opentracing-api/${version.lib.opentracing}</javadoc.link.opentracing>
<javadoc.link.prometheus>https://static.javadoc.io/io.prometheus/simpleclient/${version.lib.prometheus}</javadoc.link.prometheus>
<javadoc.link.zipkin>https://static.javadoc.io/io.zipkin.reporter2/zipkin-reporter/${version.lib.zipkin}</javadoc.link.zipkin>
<javadoc.link.jakarta-jsonb>https://static.javadoc.io/jakarta.json.bind/jakarta.json.bind-api/${version.lib.jsonb-api}</javadoc.link.jakarta-jsonb>
<javadoc.link.jakarta-persistence>https://static.javadoc.io/jakarta.persistence/jakarta.persistence-api/${version.lib.jakarta-persistence-api}</javadoc.link.jakarta-persistence>
<javadoc.link.jakarta-jsonp>https://static.javadoc.io/jakarta.json/jakarta.json-api/1.1.6</javadoc.link.jakarta-jsonp>
<javadoc.link.javax-jsonb>https://static.javadoc.io/javax.json.bind/javax.json.bind-api/1.0</javadoc.link.javax-jsonb>
<javadoc.link.javax-jaxb>https://static.javadoc.io/javax.xml.bind/jaxb-api/${version.lib.jaxb-api}</javadoc.link.javax-jaxb>
<javadoc.link.javax-persistence>https://static.javadoc.io/javax.persistence/javax.persistence-api/${version.lib.persistence-api}</javadoc.link.javax-persistence>
<javadoc.link.javax-transaction>https://static.javadoc.io/javax.transaction/javax.transaction-api/${version.lib.transaction-api}</javadoc.link.javax-transaction>
<javadoc.link.microprofile-config>https://static.javadoc.io/org.eclipse.microprofile.config/microprofile-config-api/${version.lib.microprofile-config-api}</javadoc.link.microprofile-config>
<javadoc.link.microprofile-health>https://static.javadoc.io/org.eclipse.microprofile.health/microprofile-health-api/${version.lib.microprofile-health}</javadoc.link.microprofile-health>
<javadoc.link.microprofile-metrics>https://static.javadoc.io/org.eclipse.microprofile.metrics/microprofile-metrics-api/${version.lib.microprofile-metrics2-api}</javadoc.link.microprofile-metrics>
<javadoc.link.weld>https://docs.jboss.org/weld/javadoc/3.0/weld-spi/</javadoc.link.weld>
<javadoc.link.narayana>http://narayana.io/docs/api/</javadoc.link.narayana>
<javadoc.link.eclipselink>https://www.eclipse.org/eclipselink/api/2.7/</javadoc.link.eclipselink>
<javadoc.packagelist.dir>${top.parent.basedir}/etc/javadoc</javadoc.packagelist.dir>
<site.output.dir>${project.build.directory}/docs</site.output.dir>
</properties>
<modules>
<module>parent</module>
<module>dependencies</module>
<module>bom</module>
<module>applications</module>
<module>common</module>
<module>config</module>
<module>media</module>
<module>webserver</module>
<module>security</module>
<module>microprofile</module>
<module>tracing</module>
<module>bundles</module>
<module>metrics</module>
<module>metrics2</module>
<module>health</module>
<module>grpc</module>
<module>openapi</module>
<module>jersey</module>
<module>webclient</module>
<module>integrations</module>
</modules>
<build>
<extensions>
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>${version.plugin.os}</version>
</extension>
</extensions>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${version.plugin.compiler}</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgs>
<arg>-Xlint:unchecked</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${version.plugin.javadoc}</version>
<configuration>
<source>8</source>
<!-- we are not interested in each file that is generated -->
<quiet>true</quiet>
<offlineLinks>
<offlineLink>
<url>${javadoc.link.jackson-annotations}</url>
<location>${javadoc.packagelist.dir}/jackson-annotations</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.jackson-core}</url>
<location>${javadoc.packagelist.dir}/jackson-core</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.jackson-databind}</url>
<location>${javadoc.packagelist.dir}/jackson-databind</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.jaxrs}</url>
<location>${javadoc.packagelist.dir}/jaxrs</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.netty}</url>
<location>${javadoc.packagelist.dir}/netty</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.cdi}</url>
<location>${javadoc.packagelist.dir}/cdi</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.javax-inject}</url>
<location>${javadoc.packagelist.dir}/javax-inject</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.reactive-streams}</url>
<location>${javadoc.packagelist.dir}/reactive-streams</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.jersey}</url>
<location>${javadoc.packagelist.dir}/jersey</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.typesafe-config}</url>
<location>${javadoc.packagelist.dir}/typesafe-config</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.netty-transport}</url>
<location>${javadoc.packagelist.dir}/netty-transport</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.opentracing}</url>
<location>${javadoc.packagelist.dir}/opentracing</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.prometheus}</url>
<location>${javadoc.packagelist.dir}/prometheus</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.zipkin}</url>
<location>${javadoc.packagelist.dir}/zipkin</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.jakarta-jsonb}</url>
<location>${javadoc.packagelist.dir}/jakarta-jsonb</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.jakarta-persistence}</url>
<location>${javadoc.packagelist.dir}/jakarta-persistence</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.jakarta-jsonp}</url>
<location>${javadoc.packagelist.dir}/jakarta-jsonp</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.javax-jsonb}</url>
<location>${javadoc.packagelist.dir}/javax-jsonb</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.javax-jaxb}</url>
<location>${javadoc.packagelist.dir}/javax-jaxb</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.javax-persistence}</url>
<location>${javadoc.packagelist.dir}/javax-persistence</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.javax-transaction}</url>
<location>${javadoc.packagelist.dir}/javax-transaction</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.microprofile-config}</url>
<location>${javadoc.packagelist.dir}/microprofile-config</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.microprofile-health}</url>
<location>${javadoc.packagelist.dir}/microprofile-health</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.microprofile-metrics}</url>
<location>${javadoc.packagelist.dir}/microprofile-metrics</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.weld}</url>
<location>${javadoc.packagelist.dir}/weld</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.narayana}</url>
<location>${javadoc.packagelist.dir}/narayana</location>
</offlineLink>
<offlineLink>
<url>${javadoc.link.eclipselink}</url>
<location>${javadoc.packagelist.dir}/eclipselink</location>
</offlineLink>
</offlineLinks>
<additionalJOptions combine.children="append">
<JOption>-J-Dhttp.agent=maven-javadoc-plugin</JOption>
</additionalJOptions>
<additionalOptions>
<option>--add-stylesheet ${top.parent.basedir}/etc/helidon-javadoc.css</option>
</additionalOptions>
<sourceFileExcludes>
<sourceFileExclude>**/module-info.java</sourceFileExclude>
<sourceFileExclude>target/**/*.java</sourceFileExclude>
</sourceFileExcludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>${version.plugin.project-info-reports}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>${version.plugin.site}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${version.plugin.source}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${version.plugin.enforcer}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<version>${version.plugin.toolchains}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${version.plugin.surefire}</version>
<configuration>
<trimStackTrace>false</trimStackTrace>
<!-- DO NOT override argLine instead use surefire.argLine -->
<argLine>${surefire.argLine} ${surefire.coverage.argline}</argLine>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
</configuration>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>${version.plugin.surefire.provider.junit}</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${version.lib.junit}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${version.plugin.failsafe}</version>
<configuration>
<!-- DO NOT override argLine instead use failsafe.argLine -->
<argLine>${failsafe.argLine} ${failsafe.coverage.argline}</argLine>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
</configuration>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>${version.plugin.surefire.provider.junit}</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${version.lib.junit}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.commonjava.maven.plugins</groupId>
<artifactId>directory-maven-plugin</artifactId>
<version>${version.plugin.directory}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${version.plugin.exec}</version>
</plugin>
<plugin>
<groupId>org.jboss.jandex</groupId>
<artifactId>jandex-maven-plugin</artifactId>
<version>${version.plugin.jandex}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${version.plugin.jar}</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<Implementation-URL>https://helidon.io</Implementation-URL>
<Scm-Revision>${buildNumber}</Scm-Revision>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>${version.plugin.resources}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>${version.plugin.dependency}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-publish-plugin</artifactId>
<version>${version.plugin.scm-publish-plugin}</version>
</plugin>
<plugin>
<groupId>org.glassfish.copyright</groupId>
<artifactId>glassfish-copyright-maven-plugin</artifactId>
<version>${version.plugin.glassfish-copyright}</version>
<configuration>
<templateFile>${copyright.template}</templateFile>
<excludeFile>${copyright.exclude}</excludeFile>
<scm>git</scm>
<debug>false</debug>
<scmOnly>true</scmOnly>
<warn>true</warn>
<ignoreYear>false</ignoreYear>
<useComma>true</useComma>
<doHidden>true</doHidden>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${version.plugin.checkstyle}</version>
<configuration>
<sourceDirectories>
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
</sourceDirectories>
</configuration>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>${version.lib.checkstyle}</version>
<exclusions>
<exclusion>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>${version.plugin.spotbugs}</version>
<configuration>
<skip>${spotbugs.skip}</skip>
<threshold>${spotbugs.threshold}</threshold>
<excludeFilterFile>${spotbugs.exclude}</excludeFilterFile>
<xmlOutput>true</xmlOutput>
</configuration>
</plugin>
<plugin>
<groupId>io.helidon.build-tools</groupId>
<artifactId>sitegen-maven-plugin</artifactId>
<version>${version.plugin.helidon-build-tools}</version>
<configuration>
<siteConfigFile>src/main/docs/sitegen.yaml</siteConfigFile>
<siteSourceDirectory>src/main/docs</siteSourceDirectory>
<siteOutputDirectory>${site.output.dir}</siteOutputDirectory>
<siteArchiveExcludes>
<siteArchiveExclude>.asciidoctor/**</siteArchiveExclude>
</siteArchiveExcludes>
</configuration>
<dependencies>
<dependency>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctorj-diagram</artifactId>
<version>${version.lib.asciidoctor.diagram}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>io.helidon.build-tools</groupId>
<artifactId>snakeyaml-codegen-maven-plugin</artifactId>
<version>${version.plugin.helidon-build-tools}</version>
</plugin>
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
<version>${version.plugin.protobuf}</version>
<configuration>
<protocArtifact>com.google.protobuf:protoc:3.5.1-1:exe:${os.detected.classifier}</protocArtifact>
<pluginId>grpc-java</pluginId>
<pluginArtifact>
io.grpc:protoc-gen-grpc-java:${version.lib.grpc}:exe:${os.detected.classifier}
</pluginArtifact>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${version.plugin.build-helper}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>${version.plugin.license}</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-core</artifactId>
<version>1.6</version>
</dependency>
<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-site-renderer</artifactId>
<version>1.6</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>com.ethlo.persistence.tools</groupId>
<artifactId>eclipselink-maven-plugin</artifactId>
<version>${version.plugin.eclipselink}</version>
</plugin>
<plugin>
<groupId>org.hibernate.orm.tooling</groupId>
<artifactId>hibernate-enhance-maven-plugin</artifactId>
<version>${version.plugin.hibernate-enhance}</version>
</plugin>
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>${version.plugin.jaxb}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>${version.plugin.buildnumber}</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<getRevisionOnlyOnce>true</getRevisionOnlyOnce>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>${version.plugin.shade}</version>
<dependencies>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>${version.lib.asm}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-commons</artifactId>
<version>${version.lib.asm}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<version>${version.plugin.archetype}</version>
</plugin>
<plugin>
<groupId>uk.co.deliverymind</groupId>
<artifactId>wiremock-maven-plugin</artifactId>
<version>${version.plugin.wiremock}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.commonjava.maven.plugins</groupId>
<artifactId>directory-maven-plugin</artifactId>
<executions>
<execution>
<id>generate-top-parent-basedir</id>
<goals>
<goal>highest-basedir</goal>
</goals>
<phase>validate</phase>
<configuration>
<property>top.parent.basedir</property>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-license</id>
<goals>
<goal>copy-resources</goal>
</goals>
<phase>process-sources</phase>
<configuration>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
<resources>
<resource>
<directory>${top.parent.basedir}</directory>
<targetPath>META-INF/</targetPath>
<filtering>true</filtering>
<includes>
<include>LICENSE.txt</include>
<include>NOTICE.txt</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
<configLocation>/etc/checkstyle.xml</configLocation>
<suppressionsLocation>/etc/checkstyle-suppressions.xml</suppressionsLocation>
</configuration>
</plugin>
<plugin>
<groupId>io.helidon.build-tools</groupId>
<artifactId>sitegen-maven-plugin</artifactId>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.opentracing</groupId>
<artifactId>opentracing-mock</artifactId>
<version>${version.lib.opentracing}</version>
</dependency>
<dependency>
<groupId>com.github.akarnokd</groupId>
<artifactId>rxjava2-jdk9-interop</artifactId>
<version>${version.lib.rxjava2-jdk9-interop}</version>
</dependency>
<dependency>
<groupId>io.reactivex.rxjava2</groupId>
<artifactId>rxjava</artifactId>
<version>${version.lib.rxjava}</version>
</dependency>
<dependency>
<groupId>com.xebialabs.restito</groupId>
<artifactId>restito</artifactId>
<version>${version.lib.restito}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative-boringssl-static</artifactId>
<version>${version.lib.netty.tcnative}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jgit</groupId>
<artifactId>org.eclipse.jgit</artifactId>
<version>${version.lib.jgit}</version>
</dependency>
<!-- Used to update version used by jgit -->
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>${version.lib.jsch}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jgit</groupId>
<artifactId>org.eclipse.jgit.junit</artifactId>
<version>${version.lib.jgit}</version>
</dependency>
<dependency>
<groupId>io.zipkin.zipkin2</groupId>
<artifactId>zipkin-junit</artifactId>
<version>${version.lib.zipkin.junit}</version>
</dependency>
<dependency>
<groupId>com.oracle.bedrock</groupId>
<artifactId>bedrock-testing-support</artifactId>
<version>${version.lib.bedrock}</version>
</dependency>
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-annotations</artifactId>
<version>${version.lib.spotbugs-annotations}</version>
</dependency>
<dependency>
<groupId>org.reactivestreams</groupId>
<artifactId>reactive-streams-tck</artifactId>
<version>${version.lib.reactivestreams}</version>
</dependency>
<dependency>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-junit5</artifactId>
<version>${version.lib.weld-junit}</version>
<scope>test</scope>
</dependency>
<dependency>
<!-- if needed (as excluded from weld) -->
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>${version.lib.groovy-all}</version>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.health</groupId>
<artifactId>microprofile-health-tck</artifactId>
<version>${version.lib.microprofile-health}</version>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.jwt</groupId>
<artifactId>microprofile-jwt-auth-tck</artifactId>
<version>${version.lib.microprofile-jwt}</version>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.jwt</groupId>
<artifactId>microprofile-jwt-auth-tck</artifactId>
<version>${version.lib.microprofile-jwt}</version>
<type>test-jar</type>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.fault-tolerance</groupId>
<artifactId>microprofile-fault-tolerance-tck</artifactId>
<version>${version.lib.microprofile-fault-tolerance-api}</version>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.opentracing</groupId>
<artifactId>microprofile-opentracing-tck</artifactId>
<version>${version.lib.microprofile-tracing}</version>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.opentracing</groupId>
<artifactId>microprofile-opentracing-tck-rest-client</artifactId>
<version>${version.lib.microprofile-tracing}</version>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.rest.client</groupId>
<artifactId>microprofile-rest-client-tck</artifactId>
<version>${version.lib.microprofile-rest-client}</version>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.openapi</groupId>
<artifactId>microprofile-openapi-tck</artifactId>
<version>${version.lib.microprofile-openapi-api}</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>${version.lib.testng}</version>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
<version>${version.lib.arquillian}</version>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.testenricher</groupId>
<artifactId>arquillian-testenricher-cdi</artifactId>
<version>${version.lib.arquillian}</version>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
<artifactId>arquillian-container-test-spi</artifactId>
<version>${version.lib.arquillian}</version>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.protocol</groupId>
<artifactId>arquillian-protocol-servlet</artifactId>
<version>${version.lib.arquillian}</version>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.testng</groupId>
<artifactId>arquillian-testng-container</artifactId>
<version>${version.lib.arquillian}</version>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
<artifactId>arquillian-container-spi</artifactId>
<version>${version.lib.arquillian}</version>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
<artifactId>arquillian-weld-embedded</artifactId>
<version>${version.lib.arquillian-weld-embedded}</version>
</dependency>
<!-- Force update of shrinkwrap version used by arquillian -->
<dependency>
<groupId>org.jboss.shrinkwrap.resolver</groupId>
<artifactId>shrinkwrap-resolver-impl-maven</artifactId>
<version>${version.lib.shrinkwrap-resolver}</version>
</dependency>
<dependency>
<groupId>org.jboss.shrinkwrap.resolver</groupId>
<artifactId>shrinkwrap-resolver-api-maven</artifactId>
<version>${version.lib.shrinkwrap-resolver}</version>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.config</groupId>
<artifactId>microprofile-config-tck</artifactId>
<version>${version.lib.microprofile-config}</version>
<exclusions>
<exclusion>
<!--
There is a security issue in this dependency.
If needed, add a dependency management for version >= 2.0b6
-->
<groupId>org.beanshell</groupId>
<artifactId>bsh</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>${version.lib.okhttp3}</version>
</dependency>
<dependency>
<groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId>
<version>${version.lib.awaitility}</version>
</dependency>
</dependencies>
</dependencyManagement>
<profiles>
<profile>
<id>tests</id>
<modules>
<module>tests</module>
</modules>
</profile>
<profile>
<id>examples</id>
<modules>
<module>examples</module>
</modules>
</profile>
<profile>
<id>archetypes</id>
<modules>
<module>archetypes</module>
</modules>
</profile>
<profile>
<id>jdk9-javadoc</id>
<!-- https://maven.apache.org/guides/introduction/introduction-to-profiles.html#Details_on_profile_activation -->
<!-- AND semantics; see https://issues.apache.org/jira/browse/MNG-4565 -->
<activation>
<jdk>[9,10)</jdk>
<property>
<name>!jdkToolchainVersion</name>
</property>
</activation>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<additionalJOptions>
<!-- https://bugs.openjdk.java.net/browse/JDK-8184969 -->
<JOption>-Xold</JOption>
</additionalJOptions>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>jdk9-toolchain-javadoc</id>
<activation>
<property>
<name>jdkToolchainVersion</name>
<value>9</value>
</property>
</activation>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<additionalJOptions combine.children="append">
<!-- https://bugs.openjdk.java.net/browse/JDK-8184969 -->
<JOption>-Xold</JOption>
</additionalJOptions>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>jdk9+</id>
<activation>
<jdk>[9,)</jdk>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<!-- first pass, compile everything for java9 -->
<execution>
<id>default-compile</id>
<configuration>
<source>9</source>
<target>9</target>
<release>9</release>
<compileSourceRoots>
<compileSourceRoot>${project.basedir}/src/main/java</compileSourceRoot>
<compileSourceRoot>${project.basedir}/src/main/java9</compileSourceRoot>
<compileSourceRoot>${project.basedir}/target/generated-sources</compileSourceRoot>
</compileSourceRoots>
</configuration>
</execution>
<!-- 2nd pass, re-compile for java8 -->
<execution>
<id>base-compile</id>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<release>8</release>
</configuration>
</execution>
<execution>
<id>default-testCompile</id>
<goals>
<goal>testCompile</goal>
</goals>
<configuration>
<release>8</release>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<additionalJOptions combine.children="append">
<additionalJOption>--frames</additionalJOption>
</additionalJOptions>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>sources</id>
<build>
<plugins>
<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>
</profile>
<profile>
<id>docs</id>
<modules>
<module>javadocs</module>
<module>docs</module>
</modules>
</profile>
<profile>
<id>javadoc</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>spotbugs</id>
<build>
<plugins>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>checkstyle</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<executions>
<execution>
<id>run-checkstyle</id>
<goals>
<goal>check</goal>
</goals>
<phase>validate</phase>
<configuration>
<configLocation>${top.parent.basedir}/etc/checkstyle.xml</configLocation>
<suppressionsLocation>${top.parent.basedir}/etc/checkstyle-suppressions.xml</suppressionsLocation>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>copyright</id>
<build>
<plugins>
<plugin>
<groupId>org.glassfish.copyright</groupId>
<artifactId>glassfish-copyright-maven-plugin</artifactId>
<executions>
<execution>
<id>print-copyright</id>
<goals>
<goal>copyright</goal>
</goals>
<phase>validate</phase>
<configuration>
<templateFile>${top.parent.basedir}/etc/copyright.txt</templateFile>
<excludeFile>${top.parent.basedir}/etc/copyright-exclude.txt</excludeFile>
</configuration>
</execution>
<execution>
<id>check-copyright</id>
<goals>
<goal>check</goal>
</goals>
<phase>validate</phase>
<configuration>
<templateFile>${top.parent.basedir}/etc/copyright.txt</templateFile>
<excludeFile>${top.parent.basedir}/etc/copyright-exclude.txt</excludeFile>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>coverage</id>
<properties>
<jacoco.report-missing.force-zere>true</jacoco.report-missing.force-zere>
<!-- top.parent.basedir is generated by directory:highest-basedir -->
<jacoco.outputDir>${top.parent.basedir}/target</jacoco.outputDir>
<jacoco.report.path>${jacoco.outputDir}/jacoco.exec</jacoco.report.path>
<jacoco.report.it.path>${jacoco.outputDir}/jacoco-it.exec</jacoco.report.it.path>
<!-- jacoco.agent.*.arg properties are generated by jacoco:prepare-agent -->
<surefire.coverage.argline>${jacoco.agent.ut.arg}</surefire.coverage.argline>
<failsafe.coverage.argline>${jacoco.agent.it.arg}</failsafe.coverage.argline>
<maven.test.failure.ignore>true</maven.test.failure.ignore>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<rerunFailingTestsCount>10</rerunFailingTestsCount>
<properties>
<property>
<name>listener</name>
<value>org.sonar.java.jacoco.JUnitListener</value>
</property>
</properties>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<rerunFailingTestsCount>10</rerunFailingTestsCount>
<properties>
<property>
<name>listener</name>
<value>org.sonar.java.jacoco.JUnitListener</value>
</property>
</properties>
<reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${version.plugin.jacoco}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>prepare-ut-agent</id>
<phase>process-test-classes</phase>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<destFile>${jacoco.report.path}</destFile>
<propertyName>jacoco.agent.ut.arg</propertyName>
<append>true</append>
</configuration>
</execution>
<execution>
<id>prepare-it-agent</id>
<phase>pre-integration-test</phase>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<destFile>${jacoco.report.it.path}</destFile>
<propertyName>jacoco.agent.it.arg</propertyName>
<append>true</append>
</configuration>
</execution>
<execution>
<id>jacoco-report-unit-tests</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
<configuration>
<dataFile>${jacoco.report.path}</dataFile>
<outputDirectory>${project.build.directory}/jacoco</outputDirectory>
</configuration>
</execution>
<execution>
<id>jacoco-report-integration-tests</id>
<phase>post-integration-test</phase>
<goals>
<goal>report-integration</goal>
</goals>
<configuration>
<dataFile>${jacoco.report.it.path}</dataFile>
<outputDirectory>${project.build.directory}/jacoco-it</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>release</id>
<modules>
<module>javadocs</module>
<module>docs</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-no-snapshots</id>
<goals>
<goal>enforce</goal>
</goals>
<phase>validate</phase>
<configuration>
<rules>
<requireReleaseDeps>
<message>No snapshots allowed during the release build!</message>
</requireReleaseDeps>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
<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>
<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>
<profile>
<id>toolchain</id>
<activation>
<file>
<exists>${user.home}/.m2/toolchains.xml</exists>
</file>
</activation>
<properties>
<jdkToolchainVersion>${java.vm.specification.version}</jdkToolchainVersion>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>toolchain</goal>
</goals>
<configuration>
<toolchains>
<jdk>
<version>${jdkToolchainVersion}</version>
</jdk>
</toolchains>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>