Files
helidon/pom.xml
2018-09-28 22:32:47 +00:00

1329 lines
60 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2018 Oracle and/or its affiliates. All rights reserved.
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>
<groupId>io.helidon</groupId>
<artifactId>helidon-project</artifactId>
<version>0.10.1</version>
<packaging>pom</packaging>
<name>Helidon Project</name>
<description>Java libraries for writing microservices</description>
<url>https://helidon.io</url>
<organization>
<name>Oracle Corporation</name>
<url>http://www.oracle.com/</url>
</organization>
<inceptionYear>2018</inceptionYear>
<licenses>
<license>
<name>Apache 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0</url>
</license>
</licenses>
<developers>
<developer>
<name>Tomas Langer</name>
<email>tomas.langer@oracle.com</email>
<organization>Oracle Corporation</organization>
</developer>
<developer>
<name>Tim Quinn</name>
<email>tim.quinn@oracle.com</email>
<organization>Oracle Corporation</organization>
</developer>
<developer>
<name>Romain Grecourt</name>
<email>romain.grecourt@oracle.com</email>
<organization>Oracle Corporation</organization>
</developer>
<developer>
<name>Laird Jarrett Nelson</name>
<email>laird.nelson@oracle.com</email>
<organization>Oracle Corporation</organization>
</developer>
<developer>
<name>Santiago Pericas-Geertsen</name>
<email>santiago.pericasgeertsen@oracle.com</email>
<organization>Oracle Corporation</organization>
</developer>
</developers>
<scm>
<developerConnection>scm:git:git@github.com:oracle/helidon.git</developerConnection>
<connection>scm:git:git@github.com:oracle/helidon.git</connection>
<tag>HEAD</tag>
<url>https://github.com/oracle/helidon</url>
</scm>
<properties>
<java.version>8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<surefire.argLine>-Xmx1024m -Dfile.encoding=UTF8</surefire.argLine>
<failsafe.argLine>-Xmx1024m -Dfile.encoding=UTF8</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.activation-api>1.2.0</version.lib.activation-api>
<version.lib.annotation-api>1.3.1</version.lib.annotation-api>
<version.lib.apache-httpclient>4.5.5</version.lib.apache-httpclient>
<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.brave-opentracing>0.31.0</version.lib.brave-opentracing>
<version.lib.cdi-api>2.0</version.lib.cdi-api>
<version.lib.checkstyle>7.4</version.lib.checkstyle>
<version.lib.el-api>3.0.0</version.lib.el-api>
<version.lib.el-impl>3.0.0</version.lib.el-impl>
<version.lib.etcd4j>2.16.0</version.lib.etcd4j>
<version.lib.google-api-client>1.23.0</version.lib.google-api-client>
<version.lib.groovy-all>2.4.14</version.lib.groovy-all>
<version.lib.grpc>1.11.0</version.lib.grpc>
<version.lib.guava>25.0-jre</version.lib.guava>
<version.lib.hamcrest>1.3</version.lib.hamcrest>
<version.lib.jackson>2.9.4</version.lib.jackson>
<version.lib.jandex>2.0.4.Final</version.lib.jandex>
<version.lib.jaxb-api>2.3.0</version.lib.jaxb-api>
<version.lib.jaxrs-api>2.1</version.lib.jaxrs-api>
<version.lib.jersey>2.26</version.lib.jersey>
<version.lib.jgit>4.9.0.201710071750-r</version.lib.jgit>
<version.lib.jmh>1.19</version.lib.jmh>
<version.lib.jsonp-api>1.1.2</version.lib.jsonp-api>
<version.lib.jsonp-impl>1.1.2</version.lib.jsonp-impl>
<version.lib.jsr305>3.0.2</version.lib.jsr305>
<version.lib.junit>5.1.0</version.lib.junit>
<version.lib.microprofile-config-api>1.2.1</version.lib.microprofile-config-api>
<version.lib.microprofile-config-tck>1.2.1</version.lib.microprofile-config-tck>
<version.lib.microprofile-health-api>1.0</version.lib.microprofile-health-api>
<version.lib.microprofile-metrics-api>1.1</version.lib.microprofile-metrics-api>
<version.lib.mockito>2.15.0</version.lib.mockito>
<version.lib.netty>4.1.22.Final</version.lib.netty>
<version.lib.opentracing>0.31.0</version.lib.opentracing>
<version.lib.prometheus>0.4.0</version.lib.prometheus>
<version.lib.protobuf.java>3.5.1</version.lib.protobuf.java>
<version.lib.reactivestreams>1.0.2</version.lib.reactivestreams>
<version.lib.reactor>3.1.5.RELEASE</version.lib.reactor>
<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>
<version.lib.slf4j>1.7.25</version.lib.slf4j>
<version.lib.snakeyaml>1.19</version.lib.snakeyaml>
<version.lib.spotbugs-annotations>3.1.3</version.lib.spotbugs-annotations>
<version.lib.testng>6.13.1</version.lib.testng>
<version.lib.typesafe-config>1.3.3</version.lib.typesafe-config>
<version.lib.weld>3.0.3.Final</version.lib.weld>
<version.lib.zipkin>2.6.0</version.lib.zipkin>
<!--
!Version statement! - end
-->
<!-- maven plugin versions -->
<version.plugin.build-helper>1.12</version.plugin.build-helper>
<version.plugin.checkstyle>2.17</version.plugin.checkstyle>
<version.plugin.compiler>3.7.0</version.plugin.compiler>
<version.plugin.dependency>3.0.0</version.plugin.dependency>
<version.plugin.deploy>2.8.2</version.plugin.deploy>
<version.plugin.directory>0.1</version.plugin.directory>
<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>1.48</version.plugin.glassfish-copyright>
<version.plugin.gpg>1.6</version.plugin.gpg>
<version.plugin.jacoco>0.7.9</version.plugin.jacoco>
<version.plugin.jandex>1.0.5</version.plugin.jandex>
<version.plugin.jar>3.0.2</version.plugin.jar>
<version.plugin.javadoc>3.0.0</version.plugin.javadoc>
<version.plugin.license>1.16</version.plugin.license>
<version.plugin.nexus-staging>1.6.7</version.plugin.nexus-staging>
<version.plugin.os>1.5.0.Final</version.plugin.os>
<version.plugin.protobuf>0.5.0</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.sitegen>1.0.0</version.plugin.sitegen>
<version.plugin.source>3.0.1</version.plugin.source>
<version.plugin.spotbugs>3.1.3.1</version.plugin.spotbugs>
<version.plugin.spotify-docker>1.0.0</version.plugin.spotify-docker>
<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>
<site.output.dir>${project.build.directory}/docs</site.output.dir>
</properties>
<modules>
<module>common</module>
<module>config</module>
<module>webserver</module>
<module>security</module>
<module>bom</module>
<module>microprofile</module>
</modules>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${version.plugin.compiler}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</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>
<doclint>all</doclint>
<additionalJOptions>
<JOption>-source</JOption>
<JOption>8</JOption>
</additionalJOptions>
<sourceFileExcludes>
<sourceFileExclude>**/module-info.java</sourceFileExclude>
<sourceFileExclude>target/**/*.java</sourceFileExclude>
</sourceFileExcludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>${version.plugin.deploy}</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>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${version.plugin.spotify-docker}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${version.plugin.surefire}</version>
<configuration>
<!-- DO NOT override argLine instead use surefire.argLine -->
<argLine>${surefire.argLine} ${surefire.coverage.argline}</argLine>
</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>
</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>
</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>
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
</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.sitegen}</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>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
<version>${version.plugin.protobuf}</version>
</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>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>${version.plugin.gpg}</version>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>${version.plugin.nexus-staging}</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>
<includes>
<include>LICENSE.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>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
<skipStagingRepositoryClose>true</skipStagingRepositoryClose>
<skipNexusStagingDeployMojo>${maven.deploy.skip}</skipNexusStagingDeployMojo>
</configuration>
</plugin>
<plugin>
<groupId>io.helidon.build-tools</groupId>
<artifactId>sitegen-maven-plugin</artifactId>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.glassfish.jersey</groupId>
<artifactId>jersey-bom</artifactId>
<version>${version.lib.jersey}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-core</artifactId>
<version>${version.lib.reactor}</version>
</dependency>
<dependency>
<groupId>io.opentracing</groupId>
<artifactId>opentracing-util</artifactId>
<version>${version.lib.opentracing}</version>
</dependency>
<dependency>
<groupId>io.opentracing</groupId>
<artifactId>opentracing-api</artifactId>
<version>${version.lib.opentracing}</version>
</dependency>
<dependency>
<groupId>io.opentracing</groupId>
<artifactId>opentracing-noop</artifactId>
<version>${version.lib.opentracing}</version>
</dependency>
<dependency>
<groupId>io.opentracing</groupId>
<artifactId>opentracing-mock</artifactId>
<version>${version.lib.opentracing}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${version.lib.jaxb-api}</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>${version.lib.jaxrs-api}</version>
</dependency>
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
<version>${version.lib.cdi-api}</version>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>${version.lib.el-api}</version>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>${version.lib.annotation-api}</version>
</dependency>
<dependency>
<groupId>javax.json</groupId>
<artifactId>javax.json-api</artifactId>
<version>${version.lib.jsonp-api}</version>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.json</artifactId>
<version>${version.lib.jsonp-impl}</version>
</dependency>
<dependency>
<!-- contains the API as well -->
<groupId>org.glassfish</groupId>
<artifactId>javax.el</artifactId>
<version>${version.lib.el-impl}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-handler</artifactId>
<version>${version.lib.netty}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec-dns</artifactId>
<version>${version.lib.netty}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-resolver-dns</artifactId>
<version>${version.lib.netty}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec-http</artifactId>
<version>${version.lib.netty}</version>
</dependency>
<!-- Config related -->
<dependency>
<groupId>com.typesafe</groupId>
<artifactId>config</artifactId>
<version>${version.lib.typesafe-config}</version>
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>${version.lib.snakeyaml}</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>org.mousio</groupId>
<artifactId>etcd4j</artifactId>
<version>${version.lib.etcd4j}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-core</artifactId>
<version>${version.lib.grpc}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
<version>${version.lib.grpc}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
<version>${version.lib.grpc}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty</artifactId>
<version>${version.lib.grpc}</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>${version.lib.protobuf.java}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jgit</groupId>
<artifactId>org.eclipse.jgit</artifactId>
<version>${version.lib.jgit}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jgit</groupId>
<artifactId>org.eclipse.jgit.junit</artifactId>
<version>${version.lib.jgit}</version>
</dependency>
<!-- Webserver related -->
<dependency>
<groupId>io.zipkin.reporter2</groupId>
<artifactId>zipkin-sender-urlconnection</artifactId>
<version>${version.lib.zipkin}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${version.lib.guava}</version>
</dependency>
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient</artifactId>
<version>${version.lib.prometheus}</version>
</dependency>
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-annotations</artifactId>
<version>${version.lib.spotbugs-annotations}</version>
</dependency>
<dependency>
<groupId>io.opentracing.brave</groupId>
<artifactId>brave-opentracing</artifactId>
<version>${version.lib.brave-opentracing}</version>
</dependency>
<dependency>
<groupId>org.reactivestreams</groupId>
<artifactId>reactive-streams</artifactId>
<version>${version.lib.reactivestreams}</version>
</dependency>
<dependency>
<groupId>org.reactivestreams</groupId>
<artifactId>reactive-streams-tck</artifactId>
<version>${version.lib.reactivestreams}</version>
</dependency>
<!-- Security related -->
<dependency>
<!-- Use this version instead of the one in google-api-client -->
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${version.lib.apache-httpclient}</version>
</dependency>
<dependency>
<!-- Google APIs -->
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
<version>${version.lib.google-api-client}</version>
<exclusions>
<exclusion>
<!-- must use current version -->
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</exclusion>
<exclusion>
<!-- must use guava artifactId -->
<groupId>com.google.guava</groupId>
<artifactId>guava-jdk5</artifactId>
</exclusion>
<exclusion>
<!-- must use current version -->
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</exclusion>
<exclusion>
<!-- must use current version -->
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${version.lib.jackson}</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>${version.lib.jsr305}</version>
</dependency>
<!-- Microprofile related -->
<dependency>
<groupId>org.jboss.weld.se</groupId>
<artifactId>weld-se-core</artifactId>
<version>${version.lib.weld}</version>
<exclusions>
<exclusion>
<!-- must use current version -->
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
</exclusion>
</exclusions>
</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.config</groupId>
<artifactId>microprofile-config-api</artifactId>
<version>${version.lib.microprofile-config-api}</version>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.health</groupId>
<artifactId>microprofile-health-api</artifactId>
<version>${version.lib.microprofile-health-api}</version>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.metrics</groupId>
<artifactId>microprofile-metrics-api</artifactId>
<version>${version.lib.microprofile-metrics-api}</version>
</dependency>
<dependency>
<groupId>org.jboss</groupId>
<artifactId>jandex</artifactId>
<version>${version.lib.jandex}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${version.lib.slf4j}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>${version.lib.slf4j}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${version.lib.slf4j}</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.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>
<dependency>
<groupId>org.eclipse.microprofile.config</groupId>
<artifactId>microprofile-config-tck</artifactId>
<version>${version.lib.microprofile-config-tck}</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>
<!-- Testing libraries -->
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${version.lib.mockito}</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${version.lib.junit}</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>${version.lib.junit}</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>${version.lib.hamcrest}</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>${version.lib.hamcrest}</version>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>${version.lib.jmh}</version>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>${version.lib.jmh}</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>javax.activation-api</artifactId>
<version>${version.lib.activation-api}</version>
</dependency>
</dependencies>
</dependencyManagement>
<profiles>
<profile>
<id>examples</id>
<modules>
<module>examples</module>
</modules>
</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>
<!-- fist 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>${java.version}</release>
</configuration>
</execution>
<execution>
<id>default-testCompile</id>
<goals>
<goal>testCompile</goal>
</goals>
<configuration>
<release>${java.version}</release>
</configuration>
</execution>
</executions>
</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>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</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>${maven.compiler.target}</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>
<profile>
<id>ossrh-releases</id>
<repositories>
<repository>
<id>ossrh-releases</id>
<url>https://oss.sonatype.org/content/repositories/releases/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>ossrh-releases</id>
<url>https://oss.sonatype.org/content/repositories/releases/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<distributionManagement>
<snapshotRepository>
<id>ossrh-snapshots</id>
<name>Internal Helidon Snapshot Repository</name>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<name>Internal Helidon Release Repository</name>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
</project>