| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| --> |
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <groupId>org.apache</groupId> |
| <artifactId>apache</artifactId> |
| <version>23</version> |
| </parent> |
| <groupId>org.apache.cassandra</groupId> |
| <artifactId>java-driver-parent</artifactId> |
| <version>4.18.0</version> |
| <packaging>pom</packaging> |
| <name>Apache Cassandra Java Driver</name> |
| <url>https://github.com/datastax/java-driver</url> |
| <inceptionYear>2017</inceptionYear> |
| <modules> |
| <module>core</module> |
| <module>core-shaded</module> |
| <module>query-builder</module> |
| <module>mapper-runtime</module> |
| <module>mapper-processor</module> |
| <module>metrics/micrometer</module> |
| <module>metrics/microprofile</module> |
| <module>test-infra</module> |
| <module>integration-tests</module> |
| <module>osgi-tests</module> |
| <module>distribution-source</module> |
| <module>distribution</module> |
| <module>distribution-tests</module> |
| <module>examples</module> |
| <module>bom</module> |
| </modules> |
| <properties> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> |
| <config.version>1.4.1</config.version> |
| <!-- when changing version also update version in LICENSE_binary --> |
| <hdrhistogram.version>2.1.12</hdrhistogram.version> |
| <metrics.version>4.1.18</metrics.version> |
| <netty.version>4.1.94.Final</netty.version> |
| <esri.version>1.2.1</esri.version> |
| <!-- |
| When upgrading TinkerPop please upgrade the version matrix in |
| manual/core/integration/README.md |
| --> |
| <tinkerpop.version>3.5.6</tinkerpop.version> |
| <!-- when changing version also update version in LICENSE_binary --> |
| <slf4j.version>1.7.26</slf4j.version> |
| <!-- when changing version also update version in LICENSE_binary --> |
| <reactive-streams.version>1.0.3</reactive-streams.version> |
| <json.version>20230227</json.version> |
| <jackson.version>2.13.4</jackson.version> |
| <jackson-databind.version>2.13.4.2</jackson-databind.version> |
| <!-- optional dependencies --> |
| <snappy.version>1.1.10.1</snappy.version> |
| <lz4.version>1.7.1</lz4.version> |
| <!-- test dependencies --> |
| <assertj.version>3.19.0</assertj.version> |
| <commons-exec.version>1.3</commons-exec.version> |
| <junit.version>4.13.2</junit.version> |
| <logback.version>1.2.3</logback.version> |
| <osgi.version>6.0.0</osgi.version> |
| <felix.version>7.0.1</felix.version> |
| <pax-exam.version>4.13.4</pax-exam.version> |
| <pax-url.version>2.6.4</pax-url.version> |
| <simulacron.version>0.11.0</simulacron.version> |
| <jsr353-api.version>1.1.4</jsr353-api.version> |
| <jersey.version>2.31</jersey.version> |
| <hk2.version>2.5.0</hk2.version> |
| <jax-rs.version>2.1.1</jax-rs.version> |
| <jsr353-ri.version>1.1.4</jsr353-ri.version> |
| <rxjava.version>2.2.2</rxjava.version> |
| <awaitility.version>4.0.3</awaitility.version> |
| <apacheds.version>2.0.0-M19</apacheds.version> |
| <surefire.version>3.0.0</surefire.version> |
| <graalapi.version>22.0.0.2</graalapi.version> |
| <skipTests>false</skipTests> |
| <skipUnitTests>${skipTests}</skipUnitTests> |
| </properties> |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.cassandra</groupId> |
| <artifactId>java-driver-core</artifactId> |
| <version>${project.version}</version> |
| <type>test-jar</type> |
| </dependency> |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-handler</artifactId> |
| <version>${netty.version}</version> |
| </dependency> |
| <dependency> |
| <!-- Only for integration tests, use the shaded JAR for production code --> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>25.1-jre</version> |
| </dependency> |
| <dependency> |
| <groupId>com.typesafe</groupId> |
| <artifactId>config</artifactId> |
| <version>${config.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| <version>${logback.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.xerial.snappy</groupId> |
| <artifactId>snappy-java</artifactId> |
| <version>${snappy.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.lz4</groupId> |
| <artifactId>lz4-java</artifactId> |
| <version>${lz4.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.github.jnr</groupId> |
| <artifactId>jnr-posix</artifactId> |
| <!-- when changing version also update jnr-* and asm versions in LICENSE_binary --> |
| <version>3.1.15</version> |
| </dependency> |
| <dependency> |
| <groupId>io.dropwizard.metrics</groupId> |
| <artifactId>metrics-core</artifactId> |
| <version>${metrics.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.hdrhistogram</groupId> |
| <artifactId>HdrHistogram</artifactId> |
| <version>${hdrhistogram.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.esri.geometry</groupId> |
| <artifactId>esri-geometry-api</artifactId> |
| <version>${esri.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.json</groupId> |
| <artifactId>json</artifactId> |
| <version>${json.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tinkerpop</groupId> |
| <artifactId>gremlin-core</artifactId> |
| <version>${tinkerpop.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.yaml</groupId> |
| <artifactId>snakeyaml</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.carrotsearch</groupId> |
| <artifactId>hppc</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.jcabi</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>net.objecthunter</groupId> |
| <artifactId>exp4j</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tinkerpop</groupId> |
| <artifactId>tinkergraph-gremlin</artifactId> |
| <version>${tinkerpop.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.reactivestreams</groupId> |
| <artifactId>reactive-streams</artifactId> |
| <version>${reactive-streams.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.reactivestreams</groupId> |
| <artifactId>reactive-streams-tck</artifactId> |
| <version>${reactive-streams.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.github.stephenc.jcip</groupId> |
| <artifactId>jcip-annotations</artifactId> |
| <version>1.0-1</version> |
| </dependency> |
| <dependency> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-annotations</artifactId> |
| <version>3.1.12</version> |
| </dependency> |
| <dependency> |
| <groupId>com.squareup</groupId> |
| <artifactId>javapoet</artifactId> |
| <version>1.13.0</version> |
| </dependency> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>${junit.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.tngtech.java</groupId> |
| <artifactId>junit-dataprovider</artifactId> |
| <version>1.13.1</version> |
| </dependency> |
| <dependency> |
| <groupId>org.assertj</groupId> |
| <artifactId>assertj-core</artifactId> |
| <version>${assertj.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <version>2.28.2</version> |
| </dependency> |
| <dependency> |
| <groupId>io.reactivex.rxjava2</groupId> |
| <artifactId>rxjava</artifactId> |
| <version>${rxjava.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.datastax.oss.simulacron</groupId> |
| <artifactId>simulacron-native-server</artifactId> |
| <version>${simulacron.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-exec</artifactId> |
| <version>${commons-exec.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.osgi</groupId> |
| <artifactId>org.osgi.core</artifactId> |
| <version>${osgi.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>org.apache.felix.framework</artifactId> |
| <version>${felix.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.ops4j.pax.exam</groupId> |
| <artifactId>pax-exam-junit4</artifactId> |
| <version>${pax-exam.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.ops4j.pax.exam</groupId> |
| <artifactId>pax-exam-container-forked</artifactId> |
| <version>${pax-exam.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.ops4j.pax.exam</groupId> |
| <artifactId>pax-exam-link-mvn</artifactId> |
| <version>${pax-exam.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.ops4j.pax.url</groupId> |
| <artifactId>pax-url-wrap</artifactId> |
| <version>${pax-url.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.ops4j.pax.url</groupId> |
| <artifactId>pax-url-reference</artifactId> |
| <version>${pax-url.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.ops4j.pax.tinybundles</groupId> |
| <artifactId>tinybundles</artifactId> |
| <version>3.0.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish</groupId> |
| <artifactId>javax.json</artifactId> |
| <version>${jsr353-ri.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.json</groupId> |
| <artifactId>javax.json-api</artifactId> |
| <version>${jsr353-api.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.ws.rs</groupId> |
| <artifactId>javax.ws.rs-api</artifactId> |
| <version>${jax-rs.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.core</groupId> |
| <artifactId>jersey-server</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.media</groupId> |
| <artifactId>jersey-media-json-jackson</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.containers</groupId> |
| <artifactId>jersey-container-jdk-http</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.inject</groupId> |
| <artifactId>jersey-hk2</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.hk2</groupId> |
| <artifactId>hk2-api</artifactId> |
| <version>${hk2.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.inject</groupId> |
| <artifactId>javax.inject</artifactId> |
| <version>1</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.annotation</groupId> |
| <artifactId>javax.annotation-api</artifactId> |
| <version>1.3.2</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-core</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| <version>${jackson-databind.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.testing.compile</groupId> |
| <artifactId>compile-testing</artifactId> |
| <version>0.19</version> |
| </dependency> |
| <dependency> |
| <groupId>org.awaitility</groupId> |
| <artifactId>awaitility</artifactId> |
| <version>${awaitility.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.testng</groupId> |
| <artifactId>testng</artifactId> |
| <version>7.3.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.directory.server</groupId> |
| <artifactId>apacheds-core</artifactId> |
| <version>${apacheds.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.directory.server</groupId> |
| <artifactId>apacheds-protocol-kerberos</artifactId> |
| <version>${apacheds.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.directory.server</groupId> |
| <artifactId>apacheds-interceptor-kerberos</artifactId> |
| <version>${apacheds.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.directory.server</groupId> |
| <artifactId>apacheds-protocol-ldap</artifactId> |
| <version>${apacheds.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.directory.server</groupId> |
| <artifactId>apacheds-ldif-partition</artifactId> |
| <version>${apacheds.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.directory.server</groupId> |
| <artifactId>apacheds-jdbm-partition</artifactId> |
| <version>${apacheds.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.directory.api</groupId> |
| <artifactId>api-ldap-codec-standalone</artifactId> |
| <version>1.0.0-M26</version> |
| </dependency> |
| <dependency> |
| <groupId>com.github.tomakehurst</groupId> |
| <artifactId>wiremock</artifactId> |
| <version>2.25.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.graalvm.sdk</groupId> |
| <artifactId>graal-sdk</artifactId> |
| <version>${graalapi.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.graalvm.nativeimage</groupId> |
| <artifactId>svm</artifactId> |
| <version>${graalapi.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.micrometer</groupId> |
| <artifactId>micrometer-core</artifactId> |
| <version>1.6.5</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.microprofile.metrics</groupId> |
| <artifactId>microprofile-metrics-api</artifactId> |
| <version>3.0</version> |
| </dependency> |
| <dependency> |
| <groupId>io.smallrye</groupId> |
| <artifactId>smallrye-metrics</artifactId> |
| <version>3.0.3</version> |
| </dependency> |
| <dependency> |
| <groupId>io.projectreactor</groupId> |
| <artifactId>reactor-bom</artifactId> |
| <version>2020.0.5</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>io.projectreactor.tools</groupId> |
| <artifactId>blockhound</artifactId> |
| <version>1.0.8.RELEASE</version> |
| </dependency> |
| <dependency> |
| <groupId>io.projectreactor.tools</groupId> |
| <artifactId>blockhound-junit-platform</artifactId> |
| <version>1.0.8.RELEASE</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.8.1</version> |
| </plugin> |
| <plugin> |
| <groupId>com.coveo</groupId> |
| <artifactId>fmt-maven-plugin</artifactId> |
| <version>2.9</version> |
| </plugin> |
| <plugin> |
| <groupId>au.com.acegi</groupId> |
| <artifactId>xml-format-maven-plugin</artifactId> |
| <version>3.1.1</version> |
| </plugin> |
| <plugin> |
| <groupId>com.mycila</groupId> |
| <artifactId>license-maven-plugin</artifactId> |
| <version>3.0</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>${surefire.version}</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <version>${surefire.version}</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-shade-plugin</artifactId> |
| <version>3.2.3</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <version>3.3.0</version> |
| </plugin> |
| <!-- See console.scala in the submodules --> |
| <plugin> |
| <groupId>net.alchim31.maven</groupId> |
| <artifactId>scala-maven-plugin</artifactId> |
| <version>3.2.1</version> |
| <configuration> |
| <scalaVersion>2.11</scalaVersion> |
| <args> |
| <arg>-i</arg> |
| <arg>console.scala</arg> |
| </args> |
| </configuration> |
| </plugin> |
| <plugin> |
| <artifactId>maven-source-plugin</artifactId> |
| <version>3.1.0</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>3.2.0</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-jar-plugin</artifactId> |
| <version>3.2.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.sonatype.plugins</groupId> |
| <artifactId>nexus-staging-maven-plugin</artifactId> |
| <version>1.6.8</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-gpg-plugin</artifactId> |
| <version>1.6</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-release-plugin</artifactId> |
| <version>2.5.3</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-install-plugin</artifactId> |
| <version>2.5.2</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-deploy-plugin</artifactId> |
| <version>2.8.2</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <version>3.1.2</version> |
| </plugin> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>0.8.10</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <version>5.1.1</version> |
| </plugin> |
| <plugin> |
| <groupId>org.revapi</groupId> |
| <artifactId>revapi-maven-plugin</artifactId> |
| <version>0.10.5</version> |
| <configuration> |
| <outputNonIdentifyingDifferenceInfo>false</outputNonIdentifyingDifferenceInfo> |
| <versionFormat>\d+\.\d+\.\d+</versionFormat> |
| <analysisConfiguration> |
| <revapi.ignore> |
| <item> |
| <!-- We don't consider this a problem --> |
| <code>java.class.externalClassExposedInAPI</code> |
| </item> |
| </revapi.ignore> |
| </analysisConfiguration> |
| <oldArtifacts> |
| <!-- The previous release used DataStax groupId, remove this after the next release --> |
| <artifact>com.datastax.oss:${project.artifactId}:RELEASE</artifact> |
| </oldArtifacts> |
| </configuration> |
| <dependencies> |
| <dependency> |
| <groupId>org.revapi</groupId> |
| <artifactId>revapi-java</artifactId> |
| <version>0.22.1</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>versions-maven-plugin</artifactId> |
| <version>2.7</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>flatten-maven-plugin</artifactId> |
| <version>1.2.1</version> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| <plugins> |
| <plugin> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <compilerId>javac-with-errorprone</compilerId> |
| <forceJavacCompilerUse>true</forceJavacCompilerUse> |
| <source>1.8</source> |
| <target>1.8</target> |
| <compilerArgs combine.children="override"> |
| <compilerArg>-Xep:FutureReturnValueIgnored:OFF</compilerArg> |
| <compilerArg>-Xep:PreferJavaTimeOverload:OFF</compilerArg> |
| <compilerArg>-Xep:AnnotateFormatMethod:OFF</compilerArg> |
| <compilerArg>-Xep:WildcardImport:WARN</compilerArg> |
| <compilerArg>-XepExcludedPaths:.*/target/(?:generated-sources|generated-test-sources)/.*</compilerArg> |
| </compilerArgs> |
| <showWarnings>true</showWarnings> |
| <failOnWarning>true</failOnWarning> |
| <useIncrementalCompilation>false</useIncrementalCompilation> |
| </configuration> |
| <dependencies> |
| <dependency> |
| <groupId>org.codehaus.plexus</groupId> |
| <artifactId>plexus-compiler-javac-errorprone</artifactId> |
| <version>2.8.6</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.errorprone</groupId> |
| <artifactId>error_prone_core</artifactId> |
| <version>2.3.4</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>com.coveo</groupId> |
| <artifactId>fmt-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <phase>process-sources</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>au.com.acegi</groupId> |
| <artifactId>xml-format-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>xml-check</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <excludes> |
| <exclude>.idea/**</exclude> |
| <exclude>**/target/**</exclude> |
| <exclude>**/dependency-reduced-pom.xml</exclude> |
| <exclude>**/.flattened-pom.xml</exclude> |
| <exclude>docs/**</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>com.mycila</groupId> |
| <artifactId>license-maven-plugin</artifactId> |
| <configuration> |
| <inlineHeader><![CDATA[ |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License.]]></inlineHeader> |
| <includes> |
| <include>src/**/*.java</include> |
| <include>src/**/*.xml</include> |
| <include>src/**/*.properties</include> |
| <include>**/pom.xml</include> |
| </includes> |
| <excludes> |
| <exclude>src/**/native-image.properties</exclude> |
| <exclude>**/src/main/config/ide/**</exclude> |
| </excludes> |
| <mapping> |
| <java>SLASHSTAR_STYLE</java> |
| <properties>SCRIPT_STYLE</properties> |
| </mapping> |
| <strictCheck>true</strictCheck> |
| </configuration> |
| <executions> |
| <execution> |
| <id>check-license</id> |
| <phase>initialize</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>prepare-agent</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>report</id> |
| <phase>prepare-package</phase> |
| <goals> |
| <goal>report</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <systemPropertyVariables> |
| <logback.configurationFile>${project.basedir}/src/test/resources/logback-test.xml</logback.configurationFile> |
| </systemPropertyVariables> |
| <properties> |
| <property> |
| <name>usedefaultlisteners</name> |
| <value>false</value> |
| </property> |
| </properties> |
| <skip>${skipUnitTests}</skip> |
| </configuration> |
| </plugin> |
| <plugin> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <configuration> |
| <systemPropertyVariables> |
| <logback.configurationFile>${project.basedir}/src/test/resources/logback-test.xml</logback.configurationFile> |
| </systemPropertyVariables> |
| </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>false</autoReleaseAfterClose> |
| <skipLocalStaging>true</skipLocalStaging> |
| </configuration> |
| </plugin> |
| <plugin> |
| <artifactId>maven-source-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>attach-sources</id> |
| <goals> |
| <goal>jar-no-fork</goal> |
| </goals> |
| <configuration> |
| <excludes> |
| <exclude>LICENSE_binary</exclude> |
| <exclude>NOTICE_binary.txt</exclude> |
| </excludes> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <verbose>false</verbose> |
| <quiet>true</quiet> |
| <doclint>all,-missing</doclint> |
| <excludePackageNames>com.datastax.*.driver.internal*</excludePackageNames> |
| <tags> |
| <tag> |
| <name>apiNote</name> |
| <placement>a</placement> |
| <head>API note:</head> |
| </tag> |
| <!-- |
| For custom `leaks-private-api` tag (apparently dash separators are not handled |
| correctly) |
| --> |
| <tag> |
| <name>leaks</name> |
| <placement>X</placement> |
| </tag> |
| </tags> |
| </configuration> |
| <executions> |
| <execution> |
| <!-- Check that our "official" API (api.* packages) does not leak unwanted types --> |
| <id>check-api-leaks</id> |
| <goals> |
| <goal>javadoc</goal> |
| </goals> |
| <phase>process-classes</phase> |
| <configuration> |
| <doclet>com.datastax.oss.doclet.ApiPlumber</doclet> |
| <docletArtifact> |
| <groupId>com.datastax.oss</groupId> |
| <artifactId>api-plumber-doclet</artifactId> |
| <version>1.0.0</version> |
| </docletArtifact> |
| <additionalJOptions> |
| <!-- API types do not leak internal types --> |
| <additionalparam>-preventleak</additionalparam> |
| <additionalparam>com.datastax.oss.driver.internal</additionalparam> |
| <additionalparam>com.datastax.dse.driver.internal</additionalparam> |
| <!-- Shaded dependencies (Guava, Netty, etc.) --> |
| <additionalparam>-preventleak</additionalparam> |
| <additionalparam>com.datastax.oss.driver.shaded</additionalparam> |
| <!-- |
| Typesafe config: implementation detail, can be excluded if the user wrote a custom |
| DriverConfig implementation. |
| --> |
| <additionalparam>-preventleak</additionalparam> |
| <additionalparam>com.typesafe.config</additionalparam> |
| <!-- |
| DropWizard metrics: can be excluded if metrics are disabled, or the user plugged |
| another framework. |
| --> |
| <additionalparam>-preventleak</additionalparam> |
| <additionalparam>com.codahale.metrics</additionalparam> |
| <!-- |
| HDR Histogram: implementation detail of Timer metrics, can be excluded if they are |
| all disabled. |
| --> |
| <additionalparam>-preventleak</additionalparam> |
| <additionalparam>org.HdrHistogram</additionalparam> |
| <!-- Netty: implementation detail, only tweakable via internal classes. --> |
| <additionalparam>-preventleak</additionalparam> |
| <additionalparam>io.netty</additionalparam> |
| <!-- JNR: can be excluded, the driver will fallback to non-native alternatives --> |
| <additionalparam>-preventleak</additionalparam> |
| <additionalparam>jnr</additionalparam> |
| <additionalparam>-preventleak</additionalparam> |
| <additionalparam>com.kenai.constantine</additionalparam> |
| <additionalparam>-preventleak</additionalparam> |
| <additionalparam>com.kenai.jffi</additionalparam> |
| <additionalparam>-preventleak</additionalparam> |
| <additionalparam>com.kenai.jnr</additionalparam> |
| <!-- Compression libraries: optional dependencies --> |
| <additionalparam>-preventleak</additionalparam> |
| <additionalparam>net.jpountz</additionalparam> |
| <additionalparam>-preventleak</additionalparam> |
| <additionalparam>org.xerial.snappy</additionalparam> |
| </additionalJOptions> |
| <useStandardDocletOptions>false</useStandardDocletOptions> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-release-plugin</artifactId> |
| <configuration> |
| <tagNameFormat>@{project.version}</tagNameFormat> |
| <autoVersionSubmodules>true</autoVersionSubmodules> |
| <useReleaseProfile>false</useReleaseProfile> |
| <releaseProfiles>release</releaseProfiles> |
| <goals>deploy</goals> |
| <!-- Our integration tests are too long to run during a release, we run them in CI --> |
| <arguments>-DskipITs</arguments> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <extensions>true</extensions> |
| <configuration> |
| <instructions> |
| <Bundle-Version>${project.version}</Bundle-Version> |
| <_include>-osgi.bnd</_include> |
| </instructions> |
| <supportedProjectTypes> |
| <supportedProjectType>jar</supportedProjectType> |
| <supportedProjectType>bundle</supportedProjectType> |
| <supportedProjectType>pom</supportedProjectType> |
| </supportedProjectTypes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.revapi</groupId> |
| <artifactId>revapi-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <configuration> |
| <analysisConfigurationFiles> |
| <!-- Present at the root of each module that doesn't skip this goal --> |
| <analysisConfigurationFile>revapi.json</analysisConfigurationFile> |
| </analysisConfigurationFiles> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-remote-resources-plugin</artifactId> |
| <version>1.7.0</version> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| <profiles> |
| <profile> |
| <id>release</id> |
| <build> |
| <plugins> |
| <plugin> |
| <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> |
| <!-- Speeds up `mvn install` when testing something locally --> |
| <id>fast</id> |
| <properties> |
| <license.skip>true</license.skip> |
| <fmt.skip>true</fmt.skip> |
| <xml-format.skip>true</xml-format.skip> |
| <skipTests>true</skipTests> |
| <jacoco.skip>true</jacoco.skip> |
| <maven.javadoc.skip>true</maven.javadoc.skip> |
| <maven.source.skip>true</maven.source.skip> |
| <revapi.skip>true</revapi.skip> |
| </properties> |
| </profile> |
| <!-- Use $JAVA_HOME as the default JDK to run surefire/failsafe to maintain portability --> |
| <profile> |
| <id>test-jdk-environment</id> |
| <activation> |
| <property> |
| <name>!testJavaHome</name> |
| </property> |
| </activation> |
| <properties> |
| <testing.jvm>${env.JAVA_HOME}</testing.jvm> |
| </properties> |
| </profile> |
| <!-- set -DtestJavaHome=/path/to/jdk/home to use a different JDK for surefire/failsafe --> |
| <profile> |
| <id>test-jdk-specified</id> |
| <activation> |
| <property> |
| <name>testJavaHome</name> |
| </property> |
| </activation> |
| <properties> |
| <testing.jvm>${testJavaHome}</testing.jvm> |
| </properties> |
| </profile> |
| <profile> |
| <!-- workarounds for running tests with JDK1.8 --> |
| <id>test-jdk-8</id> |
| <activation> |
| <jdk>[8,)</jdk> |
| </activation> |
| </profile> |
| <profile> |
| <!-- workarounds for running tests with JDK11 --> |
| <id>test-jdk-11</id> |
| <activation> |
| <jdk>[11,)</jdk> |
| </activation> |
| </profile> |
| <profile> |
| <!-- workarounds for running tests with JDK17 --> |
| <id>test-jdk-17</id> |
| <activation> |
| <jdk>[17,)</jdk> |
| </activation> |
| <properties> |
| <!-- for DriverBlockHoundIntegrationIT when using JDK 13+, see https://github.com/reactor/BlockHound/issues/33 --> |
| <blockhound.argline>-XX:+AllowRedefinitionToAddDeleteMethods</blockhound.argline> |
| <!-- allow deep reflection for mockito when using JDK 17+, see https://stackoverflow.com/questions/70993863/mockito-can-not-mock-random-in-java-17 --> |
| <mockitoopens.argline>--add-opens java.base/jdk.internal.util.random=ALL-UNNAMED</mockitoopens.argline> |
| </properties> |
| </profile> |
| </profiles> |
| <distributionManagement> |
| <repository> |
| <id>ossrh</id> |
| <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> |
| </repository> |
| </distributionManagement> |
| <licenses> |
| <license> |
| <name>Apache 2</name> |
| <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> |
| <distribution>repo</distribution> |
| <comments>Apache License Version 2.0</comments> |
| </license> |
| </licenses> |
| <scm> |
| <connection>scm:git:git@github.com:datastax/java-driver.git</connection> |
| <developerConnection>scm:git:git@github.com:datastax/java-driver.git</developerConnection> |
| <url>https://github.com/datastax/java-driver</url> |
| <tag>4.18.0</tag> |
| </scm> |
| <developers> |
| <developer> |
| <name>Various</name> |
| <organization>DataStax</organization> |
| </developer> |
| </developers> |
| </project> |