750 lines
27 KiB
Plaintext
750 lines
27 KiB
Plaintext
![]() |
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<!--
|
||
|
|
||
|
Copyright 2016-2020 The OpenZipkin Authors
|
||
|
|
||
|
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.zipkin.reporter2</groupId>
|
||
|
<artifactId>zipkin-reporter-parent</artifactId>
|
||
|
<version>2.16.3</version>
|
||
|
<packaging>pom</packaging>
|
||
|
|
||
|
<modules>
|
||
|
<module>bom</module>
|
||
|
<module>core</module>
|
||
|
<module>kafka</module>
|
||
|
<module>kafka08</module>
|
||
|
<module>amqp-client</module>
|
||
|
<module>activemq-client</module>
|
||
|
<module>urlconnection</module>
|
||
|
<module>okhttp3</module>
|
||
|
<module>libthrift</module>
|
||
|
<module>spring-beans</module>
|
||
|
<module>brave</module>
|
||
|
<module>metrics-micrometer</module>
|
||
|
</modules>
|
||
|
|
||
|
<properties>
|
||
|
<main.basedir>${project.basedir}</main.basedir>
|
||
|
|
||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||
|
<project.build.resourceEncoding>UTF-8</project.build.resourceEncoding>
|
||
|
<project.build.outputEncoding>UTF-8</project.build.outputEncoding>
|
||
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||
|
|
||
|
<!-- default bytecode version for src/main -->
|
||
|
<main.java.version>1.6</main.java.version>
|
||
|
<main.signature.artifact>java16</main.signature.artifact>
|
||
|
|
||
|
<!-- default bytecode version for src/test -->
|
||
|
<maven.compiler.source>1.8</maven.compiler.source>
|
||
|
<maven.compiler.target>1.8</maven.compiler.target>
|
||
|
|
||
|
<!-- override to set exclusions per-project -->
|
||
|
<errorprone.args />
|
||
|
<errorprone.version>2.4.0</errorprone.version>
|
||
|
|
||
|
<!-- use the same value in bom/pom.xml -->
|
||
|
<zipkin.version>2.23.2</zipkin.version>
|
||
|
<zipkin-proto3.version>1.0.0</zipkin-proto3.version>
|
||
|
|
||
|
<!-- Do not set this value in bom/pom.xml to avoid cyclic pinning -->
|
||
|
<brave.version>5.13.2</brave.version>
|
||
|
|
||
|
<junit.version>4.13.1</junit.version>
|
||
|
<junit-jupiter.version>5.7.0</junit-jupiter.version>
|
||
|
<okhttp.version>3.14.9</okhttp.version>
|
||
|
<logback.version>1.2.3</logback.version>
|
||
|
<testcontainers.version>1.15.1</testcontainers.version>
|
||
|
|
||
|
<license.skip>${skipTests}</license.skip>
|
||
|
|
||
|
<animal-sniffer-maven-plugin.version>1.19</animal-sniffer-maven-plugin.version>
|
||
|
<go-offline-maven-plugin.version>1.2.8</go-offline-maven-plugin.version>
|
||
|
<!-- TODO: cleanup any redundant ignores now also in the 4.0 release (once final) -->
|
||
|
<license-maven-plugin.version>4.0.rc2</license-maven-plugin.version>
|
||
|
<maven-bundle-plugin.version>5.1.1</maven-bundle-plugin.version>
|
||
|
<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
|
||
|
<!-- Use same version as https://github.com/openzipkin/docker-java -->
|
||
|
<maven-dependency-plugin.version>3.1.2</maven-dependency-plugin.version>
|
||
|
<maven-deploy-plugin.version>3.0.0-M1</maven-deploy-plugin.version>
|
||
|
<maven-enforcer-plugin.version>3.0.0-M3</maven-enforcer-plugin.version>
|
||
|
<!-- Use same version as https://github.com/openzipkin/docker-java -->
|
||
|
<maven-help-plugin.version>3.2.0</maven-help-plugin.version>
|
||
|
<maven-install-plugin.version>3.0.0-M1</maven-install-plugin.version>
|
||
|
<maven-javadoc-plugin.version>3.2.0</maven-javadoc-plugin.version>
|
||
|
<maven-jar-plugin.version>3.2.0</maven-jar-plugin.version>
|
||
|
<maven-release-plugin.version>3.0.0-M1</maven-release-plugin.version>
|
||
|
<maven-shade-plugin.version>3.2.4</maven-shade-plugin.version>
|
||
|
<maven-source-plugin.version>3.2.1</maven-source-plugin.version>
|
||
|
<maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
|
||
|
<nexus-staging-maven-plugin.version>1.6.8</nexus-staging-maven-plugin.version>
|
||
|
</properties>
|
||
|
|
||
|
<name>Zipkin Reporter (Parent)</name>
|
||
|
<description>Zipkin Reporter (Parent)</description>
|
||
|
<url>https://github.com/openzipkin/zipkin-reporter-java</url>
|
||
|
<inceptionYear>2016</inceptionYear>
|
||
|
|
||
|
<organization>
|
||
|
<name>OpenZipkin</name>
|
||
|
<url>https://zipkin.io/</url>
|
||
|
</organization>
|
||
|
|
||
|
<licenses>
|
||
|
<license>
|
||
|
<name>The Apache Software License, Version 2.0</name>
|
||
|
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||
|
<distribution>repo</distribution>
|
||
|
</license>
|
||
|
</licenses>
|
||
|
|
||
|
<scm>
|
||
|
<url>https://github.com/openzipkin/zipkin-reporter-java</url>
|
||
|
<connection>scm:git:https://github.com/openzipkin/zipkin-reporter-java.git</connection>
|
||
|
<developerConnection>scm:git:https://github.com/openzipkin/zipkin-reporter-java.git</developerConnection>
|
||
|
<tag>2.16.3</tag>
|
||
|
</scm>
|
||
|
|
||
|
<!-- Developer section is needed for Maven Central, but doesn't need to include each person -->
|
||
|
<developers>
|
||
|
<developer>
|
||
|
<id>openzipkin</id>
|
||
|
<name>OpenZipkin Gitter</name>
|
||
|
<url>https://gitter.im/openzipkin/zipkin</url>
|
||
|
</developer>
|
||
|
</developers>
|
||
|
|
||
|
<distributionManagement>
|
||
|
<snapshotRepository>
|
||
|
<id>ossrh</id>
|
||
|
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
|
||
|
</snapshotRepository>
|
||
|
<repository>
|
||
|
<id>ossrh</id>
|
||
|
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
|
||
|
</repository>
|
||
|
</distributionManagement>
|
||
|
|
||
|
<issueManagement>
|
||
|
<system>Github</system>
|
||
|
<url>https://github.com/openzipkin/zipkin-reporter-java/issues</url>
|
||
|
</issueManagement>
|
||
|
|
||
|
<dependencyManagement>
|
||
|
<!-- Be careful here, especially to not import BOMs as io.zipkin.reporter2:zipkin-reporter and
|
||
|
zipkin-reporter-brave have this parent.
|
||
|
|
||
|
For example, if you imported Netty's BOM here, using Brave would also download that BOM as
|
||
|
it depends indirectly on io.zipkin.reporter2:zipkin-reporter-brave. As Brave itself is
|
||
|
indirectly used, this can be extremely confusing when people are troubleshooting library
|
||
|
version assignments. -->
|
||
|
</dependencyManagement>
|
||
|
|
||
|
<dependencies>
|
||
|
<!-- Do not add compile dependencies here. This can cause problems for libraries that depend on
|
||
|
io.zipkin.reporter2:zipkin-reporter or zipkin-reporter-brave difficult to unravel. -->
|
||
|
|
||
|
<dependency>
|
||
|
<groupId>junit</groupId>
|
||
|
<artifactId>junit</artifactId>
|
||
|
<version>${junit.version}</version>
|
||
|
<scope>test</scope>
|
||
|
</dependency>
|
||
|
|
||
|
<dependency>
|
||
|
<groupId>org.junit.jupiter</groupId>
|
||
|
<artifactId>junit-jupiter</artifactId>
|
||
|
<version>${junit-jupiter.version}</version>
|
||
|
<scope>test</scope>
|
||
|
</dependency>
|
||
|
|
||
|
<dependency>
|
||
|
<groupId>org.junit.vintage</groupId>
|
||
|
<artifactId>junit-vintage-engine</artifactId>
|
||
|
<version>${junit-jupiter.version}</version>
|
||
|
<scope>test</scope>
|
||
|
</dependency>
|
||
|
|
||
|
<!-- Current versions of JUnit5 provide the above junit-jupiter artifact for convenience, but we
|
||
|
may still have transitive dependencies on these older artifacts and have to make sure
|
||
|
they're all using the same version. -->
|
||
|
<dependency>
|
||
|
<groupId>org.junit.jupiter</groupId>
|
||
|
<artifactId>junit-jupiter-api</artifactId>
|
||
|
<version>${junit-jupiter.version}</version>
|
||
|
<scope>test</scope>
|
||
|
</dependency>
|
||
|
|
||
|
<dependency>
|
||
|
<groupId>org.junit.jupiter</groupId>
|
||
|
<artifactId>junit-jupiter-engine</artifactId>
|
||
|
<version>${junit-jupiter.version}</version>
|
||
|
<scope>test</scope>
|
||
|
</dependency>
|
||
|
|
||
|
<dependency>
|
||
|
<groupId>io.zipkin.zipkin2</groupId>
|
||
|
<artifactId>zipkin-tests</artifactId>
|
||
|
<version>${zipkin.version}</version>
|
||
|
<scope>test</scope>
|
||
|
</dependency>
|
||
|
|
||
|
<dependency>
|
||
|
<groupId>org.assertj</groupId>
|
||
|
<artifactId>assertj-core</artifactId>
|
||
|
<version>3.18.1</version>
|
||
|
<scope>test</scope>
|
||
|
</dependency>
|
||
|
|
||
|
<dependency>
|
||
|
<groupId>ch.qos.logback</groupId>
|
||
|
<artifactId>logback-classic</artifactId>
|
||
|
<version>${logback.version}</version>
|
||
|
<scope>test</scope>
|
||
|
</dependency>
|
||
|
</dependencies>
|
||
|
|
||
|
<build>
|
||
|
<pluginManagement>
|
||
|
<plugins>
|
||
|
<!-- mvn -N io.takari:maven:wrapper generates the ./mvnw script -->
|
||
|
<plugin>
|
||
|
<groupId>io.takari</groupId>
|
||
|
<artifactId>maven</artifactId>
|
||
|
<version>0.7.7</version>
|
||
|
<configuration>
|
||
|
<maven>3.6.3</maven>
|
||
|
</configuration>
|
||
|
</plugin>
|
||
|
|
||
|
<!-- mvn de.qaware.maven:go-offline-maven-plugin:resolve-dependencies -->
|
||
|
<plugin>
|
||
|
<groupId>de.qaware.maven</groupId>
|
||
|
<artifactId>go-offline-maven-plugin</artifactId>
|
||
|
<version>${go-offline-maven-plugin.version}</version>
|
||
|
<configuration>
|
||
|
<!-- Add dependencies indirectly referenced by build plugins -->
|
||
|
<dynamicDependencies>
|
||
|
<DynamicDependency>
|
||
|
<groupId>org.codehaus.mojo.signature</groupId>
|
||
|
<artifactId>${main.signature.artifact}</artifactId>
|
||
|
<version>1.0</version>
|
||
|
<type>signature</type>
|
||
|
<repositoryType>MAIN</repositoryType>
|
||
|
</DynamicDependency>
|
||
|
<DynamicDependency>
|
||
|
<groupId>com.mycila</groupId>
|
||
|
<artifactId>license-maven-plugin-git</artifactId>
|
||
|
<version>${license-maven-plugin.version}</version>
|
||
|
<repositoryType>MAIN</repositoryType>
|
||
|
</DynamicDependency>
|
||
|
<DynamicDependency>
|
||
|
<groupId>com.google.errorprone</groupId>
|
||
|
<artifactId>error_prone_core</artifactId>
|
||
|
<version>${errorprone.version}</version>
|
||
|
<repositoryType>MAIN</repositoryType>
|
||
|
</DynamicDependency>
|
||
|
<DynamicDependency>
|
||
|
<groupId>org.apache.maven.surefire</groupId>
|
||
|
<artifactId>surefire-junit-platform</artifactId>
|
||
|
<version>${maven-surefire-plugin.version}</version>
|
||
|
<repositoryType>PLUGIN</repositoryType>
|
||
|
</DynamicDependency>
|
||
|
</dynamicDependencies>
|
||
|
</configuration>
|
||
|
</plugin>
|
||
|
|
||
|
<plugin>
|
||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||
|
<version>${maven-compiler-plugin.version}</version>
|
||
|
<inherited>true</inherited>
|
||
|
<configuration>
|
||
|
<!-- Retrolambda will rewrite lambdas as Java 6 bytecode -->
|
||
|
<source>1.8</source>
|
||
|
<target>1.8</target>
|
||
|
<!-- or die! com.sun.tools.javac.api.JavacTool -->
|
||
|
<fork>true</fork>
|
||
|
<showWarnings>true</showWarnings>
|
||
|
</configuration>
|
||
|
</plugin>
|
||
|
|
||
|
<!-- Uploads occur as a last step (which also adds checksums) -->
|
||
|
<plugin>
|
||
|
<artifactId>maven-deploy-plugin</artifactId>
|
||
|
<version>${maven-deploy-plugin.version}</version>
|
||
|
</plugin>
|
||
|
|
||
|
<plugin>
|
||
|
<artifactId>maven-install-plugin</artifactId>
|
||
|
<version>${maven-install-plugin.version}</version>
|
||
|
</plugin>
|
||
|
|
||
|
<plugin>
|
||
|
<artifactId>maven-jar-plugin</artifactId>
|
||
|
<version>${maven-jar-plugin.version}</version>
|
||
|
<configuration>
|
||
|
<archive>
|
||
|
<!-- prevents huge pom file from also being added to the jar under META-INF/maven -->
|
||
|
<addMavenDescriptor>false</addMavenDescriptor>
|
||
|
</archive>
|
||
|
</configuration>
|
||
|
</plugin>
|
||
|
|
||
|
<plugin>
|
||
|
<artifactId>maven-release-plugin</artifactId>
|
||
|
<version>${maven-release-plugin.version}</version>
|
||
|
<configuration>
|
||
|
<useReleaseProfile>false</useReleaseProfile>
|
||
|
<releaseProfiles>release</releaseProfiles>
|
||
|
<autoVersionSubmodules>true</autoVersionSubmodules>
|
||
|
<tagNameFormat>@{project.version}</tagNameFormat>
|
||
|
</configuration>
|
||
|
</plugin>
|
||
|
|
||
|
<plugin>
|
||
|
<groupId>org.sonatype.plugins</groupId>
|
||
|
<artifactId>nexus-staging-maven-plugin</artifactId>
|
||
|
<version>${nexus-staging-maven-plugin.version}</version>
|
||
|
</plugin>
|
||
|
|
||
|
<plugin>
|
||
|
<groupId>org.eclipse.m2e</groupId>
|
||
|
<artifactId>lifecycle-mapping</artifactId>
|
||
|
<version>1.0.0</version>
|
||
|
<configuration>
|
||
|
<lifecycleMappingMetadata>
|
||
|
<pluginExecutions>
|
||
|
<pluginExecution>
|
||
|
<pluginExecutionFilter>
|
||
|
<groupId>org.apache.maven.plugins</groupId>
|
||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||
|
<versionRange>[3.7,)</versionRange>
|
||
|
<goals>
|
||
|
<goal>compile</goal>
|
||
|
<goal>testCompile</goal>
|
||
|
</goals>
|
||
|
</pluginExecutionFilter>
|
||
|
<action>
|
||
|
<configurator>
|
||
|
<id>org.eclipse.m2e.jdt.javaConfigurator</id>
|
||
|
</configurator>
|
||
|
</action>
|
||
|
</pluginExecution>
|
||
|
</pluginExecutions>
|
||
|
</lifecycleMappingMetadata>
|
||
|
</configuration>
|
||
|
</plugin>
|
||
|
<plugin>
|
||
|
<artifactId>maven-eclipse-plugin</artifactId>
|
||
|
<version>2.10</version>
|
||
|
<configuration>
|
||
|
<downloadSources>true</downloadSources>
|
||
|
<downloadJavadocs>true</downloadJavadocs>
|
||
|
</configuration>
|
||
|
</plugin>
|
||
|
|
||
|
<plugin>
|
||
|
<artifactId>maven-shade-plugin</artifactId>
|
||
|
<version>${maven-shade-plugin.version}</version>
|
||
|
</plugin>
|
||
|
</plugins>
|
||
|
</pluginManagement>
|
||
|
|
||
|
<plugins>
|
||
|
<!-- Ensure common utility commands use coherent versions (avoid lazy downloads) -->
|
||
|
<plugin>
|
||
|
<artifactId>maven-dependency-plugin</artifactId>
|
||
|
<version>${maven-dependency-plugin.version}</version>
|
||
|
</plugin>
|
||
|
<plugin>
|
||
|
<artifactId>maven-help-plugin</artifactId>
|
||
|
<version>${maven-help-plugin.version}</version>
|
||
|
</plugin>
|
||
|
|
||
|
<plugin>
|
||
|
<groupId>net.orfjackal.retrolambda</groupId>
|
||
|
<artifactId>retrolambda-maven-plugin</artifactId>
|
||
|
<version>2.5.7</version>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<goals>
|
||
|
<goal>process-main</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<target>${main.java.version}</target>
|
||
|
<fork>true</fork>
|
||
|
<quiet>true</quiet>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
</plugin>
|
||
|
|
||
|
<plugin>
|
||
|
<groupId>org.codehaus.mojo</groupId>
|
||
|
<artifactId>animal-sniffer-maven-plugin</artifactId>
|
||
|
<version>${animal-sniffer-maven-plugin.version}</version>
|
||
|
<configuration>
|
||
|
<signature>
|
||
|
<groupId>org.codehaus.mojo.signature</groupId>
|
||
|
<artifactId>${main.signature.artifact}</artifactId>
|
||
|
<version>1.0</version>
|
||
|
</signature>
|
||
|
<checkTestClasses>false</checkTestClasses>
|
||
|
</configuration>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<goals>
|
||
|
<goal>check</goal>
|
||
|
</goals>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
</plugin>
|
||
|
|
||
|
<plugin>
|
||
|
<artifactId>maven-surefire-plugin</artifactId>
|
||
|
<version>${maven-surefire-plugin.version}</version>
|
||
|
<configuration>
|
||
|
<!-- Ensures root cause ends up in the console -->
|
||
|
<trimStackTrace>false</trimStackTrace>
|
||
|
</configuration>
|
||
|
</plugin>
|
||
|
|
||
|
<plugin>
|
||
|
<artifactId>maven-failsafe-plugin</artifactId>
|
||
|
<version>${maven-surefire-plugin.version}</version>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<id>integration-test</id>
|
||
|
<phase>verify</phase>
|
||
|
<goals>
|
||
|
<goal>integration-test</goal>
|
||
|
<goal>verify</goal>
|
||
|
</goals>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
<configuration>
|
||
|
<!-- Try to prevent flakes in CI -->
|
||
|
<reuseForks>false</reuseForks>
|
||
|
<!-- workaround to SUREFIRE-1831 -->
|
||
|
<useModulePath>false</useModulePath>
|
||
|
</configuration>
|
||
|
</plugin>
|
||
|
|
||
|
<plugin>
|
||
|
<artifactId>maven-enforcer-plugin</artifactId>
|
||
|
<version>${maven-enforcer-plugin.version}</version>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<id>enforce-java</id>
|
||
|
<goals>
|
||
|
<goal>enforce</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<rules>
|
||
|
<requireJavaVersion>
|
||
|
<!-- Cannot use JDK 15 until Retrolambda supports it
|
||
|
https://github.com/luontola/retrolambda/issues/161 -->
|
||
|
<version>[1.8,15)</version>
|
||
|
</requireJavaVersion>
|
||
|
</rules>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
</plugin>
|
||
|
|
||
|
<plugin>
|
||
|
<groupId>com.mycila</groupId>
|
||
|
<artifactId>license-maven-plugin</artifactId>
|
||
|
<version>${license-maven-plugin.version}</version>
|
||
|
<configuration>
|
||
|
<skip>${license.skip}</skip>
|
||
|
<!-- session.executionRootDirectory resolves properly even with nested modules -->
|
||
|
<header>${main.basedir}/src/etc/header.txt</header>
|
||
|
<mapping>
|
||
|
<!-- Don't use javadoc style as this makes code formatters break it by adding tags! -->
|
||
|
<java>SLASHSTAR_STYLE</java>
|
||
|
<bnd>SCRIPT_STYLE</bnd>
|
||
|
<!-- build-bin/docker -->
|
||
|
<configure_docker>SCRIPT_STYLE</configure_docker>
|
||
|
<!-- build-bin/git -->
|
||
|
<login_git>SCRIPT_STYLE</login_git>
|
||
|
<version_from_trigger_tag>SCRIPT_STYLE</version_from_trigger_tag>
|
||
|
<!-- build-bin/gpg -->
|
||
|
<configure_gpg>SCRIPT_STYLE</configure_gpg>
|
||
|
<!-- build-bin/maven -->
|
||
|
<maven_deploy>SCRIPT_STYLE</maven_deploy>
|
||
|
<maven_go_offline>SCRIPT_STYLE</maven_go_offline>
|
||
|
<maven_opts>SCRIPT_STYLE</maven_opts>
|
||
|
<maven_release>SCRIPT_STYLE</maven_release>
|
||
|
</mapping>
|
||
|
<excludes>
|
||
|
<exclude>**/logback.xml</exclude>
|
||
|
<exclude>.editorconfig</exclude>
|
||
|
<exclude>.gitattributes</exclude>
|
||
|
<exclude>.gitignore</exclude>
|
||
|
<exclude>.mailmap</exclude>
|
||
|
<exclude>.mvn/**</exclude>
|
||
|
<exclude>mvnw*</exclude>
|
||
|
<exclude>etc/header.txt</exclude>
|
||
|
<exclude>**/.idea/**</exclude>
|
||
|
<exclude>**/.editorconfig</exclude>
|
||
|
<exclude>LICENSE</exclude>
|
||
|
<exclude>NOTICE</exclude>
|
||
|
<exclude>**/*.md</exclude>
|
||
|
<exclude>**/*.bnd</exclude>
|
||
|
<exclude>src/test/resources/**</exclude>
|
||
|
<exclude>.github/**</exclude>
|
||
|
<exclude>build-bin/*</exclude>
|
||
|
</excludes>
|
||
|
<strictCheck>true</strictCheck>
|
||
|
</configuration>
|
||
|
<dependencies>
|
||
|
<dependency>
|
||
|
<groupId>com.mycila</groupId>
|
||
|
<artifactId>license-maven-plugin-git</artifactId>
|
||
|
<version>${license-maven-plugin.version}</version>
|
||
|
</dependency>
|
||
|
</dependencies>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<goals>
|
||
|
<goal>check</goal>
|
||
|
</goals>
|
||
|
<phase>compile</phase>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
</plugin>
|
||
|
</plugins>
|
||
|
|
||
|
<resources>
|
||
|
<!-- This adds the LICENSE and NOTICE file to the jar and -sources jar of each module -->
|
||
|
<resource>
|
||
|
<filtering>false</filtering>
|
||
|
<directory>${main.basedir}</directory>
|
||
|
<targetPath>META-INF/</targetPath>
|
||
|
<includes>
|
||
|
<include>LICENSE</include>
|
||
|
<include>NOTICE</include>
|
||
|
</includes>
|
||
|
</resource>
|
||
|
</resources>
|
||
|
</build>
|
||
|
|
||
|
<profiles>
|
||
|
<!-- -DskipTests ensures benchmarks don't end up in javadocs or in Maven Central -->
|
||
|
<profile>
|
||
|
<id>include-benchmarks</id>
|
||
|
<activation>
|
||
|
<property>
|
||
|
<name>!skipTests</name>
|
||
|
</property>
|
||
|
</activation>
|
||
|
<modules>
|
||
|
<module>benchmarks</module>
|
||
|
</modules>
|
||
|
</profile>
|
||
|
|
||
|
<profile>
|
||
|
<id>error-prone-9+</id>
|
||
|
<activation>
|
||
|
<jdk>[9,)</jdk>
|
||
|
</activation>
|
||
|
<build>
|
||
|
<plugins>
|
||
|
<plugin>
|
||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||
|
<version>${maven-compiler-plugin.version}</version>
|
||
|
<inherited>true</inherited>
|
||
|
<configuration>
|
||
|
<!-- Retrolambda will rewrite lambdas as Java 6 bytecode -->
|
||
|
<source>1.8</source>
|
||
|
<target>1.8</target>
|
||
|
<compilerVersion>1.8</compilerVersion>
|
||
|
<!-- or die! com.sun.tools.javac.api.JavacTool -->
|
||
|
<fork>true</fork>
|
||
|
<showWarnings>true</showWarnings>
|
||
|
</configuration>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<!-- only use errorprone on main source tree -->
|
||
|
<id>default-compile</id>
|
||
|
<phase>compile</phase>
|
||
|
<goals>
|
||
|
<goal>compile</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||
|
<compilerArgs>
|
||
|
<arg>-XDcompilePolicy=simple</arg>
|
||
|
<arg>-Xplugin:ErrorProne ${errorprone.args}</arg>
|
||
|
</compilerArgs>
|
||
|
<annotationProcessorPaths>
|
||
|
<processorPath>
|
||
|
<groupId>com.google.errorprone</groupId>
|
||
|
<artifactId>error_prone_core</artifactId>
|
||
|
<version>${errorprone.version}</version>
|
||
|
</processorPath>
|
||
|
</annotationProcessorPaths>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
</plugin>
|
||
|
</plugins>
|
||
|
</build>
|
||
|
</profile>
|
||
|
|
||
|
<profile>
|
||
|
<id>release</id>
|
||
|
<build>
|
||
|
<plugins>
|
||
|
<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>
|
||
|
<!-- Double the normal timeout even though we haven't had a problem in this project.
|
||
|
The only outcome of timing out client side is trying again. -->
|
||
|
<stagingProgressTimeoutMinutes>10</stagingProgressTimeoutMinutes>
|
||
|
<autoReleaseAfterClose>true</autoReleaseAfterClose>
|
||
|
</configuration>
|
||
|
</plugin>
|
||
|
|
||
|
<plugin>
|
||
|
<artifactId>maven-gpg-plugin</artifactId>
|
||
|
<version>1.6</version>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<id>sign-artifacts</id>
|
||
|
<phase>verify</phase>
|
||
|
<goals>
|
||
|
<goal>sign</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<gpgArguments>
|
||
|
<arg>--pinentry-mode</arg>
|
||
|
<arg>loopback</arg>
|
||
|
</gpgArguments>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
</plugin>
|
||
|
|
||
|
<!-- Creates source jar -->
|
||
|
<plugin>
|
||
|
<artifactId>maven-source-plugin</artifactId>
|
||
|
<version>${maven-source-plugin.version}</version>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<id>attach-sources</id>
|
||
|
<goals>
|
||
|
<goal>jar</goal>
|
||
|
</goals>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
</plugin>
|
||
|
|
||
|
<!-- Creates javadoc jar, skipping internal classes -->
|
||
|
<plugin>
|
||
|
<artifactId>maven-javadoc-plugin</artifactId>
|
||
|
<version>${maven-javadoc-plugin.version}</version>
|
||
|
<configuration>
|
||
|
<sourceFileExcludes>
|
||
|
<exclude>**/internal/*.java</exclude>
|
||
|
<exclude>**/Internal*.java</exclude>
|
||
|
</sourceFileExcludes>
|
||
|
<excludePackageNames>*.internal.*</excludePackageNames>
|
||
|
<failOnError>false</failOnError>
|
||
|
<!-- hush pedantic warnings: we don't put param and return on everything! -->
|
||
|
<doclint>none</doclint>
|
||
|
<!-- While we publish modules, our source is pre-Java9 so tell javadoc that. -->
|
||
|
<source>8</source>
|
||
|
</configuration>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<id>attach-javadocs</id>
|
||
|
<goals>
|
||
|
<goal>jar</goal>
|
||
|
</goals>
|
||
|
<phase>package</phase>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
</plugin>
|
||
|
</plugins>
|
||
|
</build>
|
||
|
</profile>
|
||
|
|
||
|
<profile>
|
||
|
<id>module-info</id>
|
||
|
<!-- Build profiles can only consider static properties, such as files or ENV variables.
|
||
|
To conditionally add module information, we use existence of bnd.bnd. This allows
|
||
|
irrelevant packages such as tests and benchmarks to quietly opt-out.
|
||
|
http://maven.apache.org/guides/introduction/introduction-to-profiles.html -->
|
||
|
<activation>
|
||
|
<file>
|
||
|
<exists>bnd.bnd</exists>
|
||
|
</file>
|
||
|
</activation>
|
||
|
<build>
|
||
|
<plugins>
|
||
|
<!-- OSGi and Java Modules configuration -->
|
||
|
<plugin>
|
||
|
<groupId>org.apache.felix</groupId>
|
||
|
<artifactId>maven-bundle-plugin</artifactId>
|
||
|
<version>${maven-bundle-plugin.version}</version>
|
||
|
<configuration>
|
||
|
<obrRepository>NONE</obrRepository>
|
||
|
<instructions>
|
||
|
<_include>-bnd.bnd</_include>
|
||
|
</instructions>
|
||
|
</configuration>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<phase>process-classes</phase>
|
||
|
<goals>
|
||
|
<goal>manifest</goal>
|
||
|
</goals>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
</plugin>
|
||
|
<plugin>
|
||
|
<artifactId>maven-jar-plugin</artifactId>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<id>default-jar</id>
|
||
|
<configuration>
|
||
|
<archive>
|
||
|
<!-- Include the MANIFEST.MF maven-bundle-plugin generates from bnd.bnd -->
|
||
|
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
|
||
|
<manifestEntries>
|
||
|
<Automatic-Module-Name>${module.name}</Automatic-Module-Name>
|
||
|
</manifestEntries>
|
||
|
</archive>
|
||
|
</configuration>
|
||
|
<goals>
|
||
|
<goal>jar</goal>
|
||
|
</goals>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
</plugin>
|
||
|
</plugins>
|
||
|
</build>
|
||
|
</profile>
|
||
|
</profiles>
|
||
|
</project>
|