java-driver-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>com.yugabyte</groupId> <artifactId>java-driver-parent</artifactId> <version>4.19.0-yb-1</version> </dependency>
<?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. The following only applies to changes made to this file as part of YugaByte development. Portions Copyright (c) Yugabyte, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.yugabyte</groupId> <artifactId>java-driver-parent</artifactId> <version>4.19.0-yb-1</version> <packaging>pom</packaging> <name>Java Driver for YugaByteDB</name> <description>Java Driver for YugaByteDB; derived from DataStax Java Driver for Apache Cassandra.</description> <url>https://github.com/yugabyte/cassandra-java-driver</url> <inceptionYear>2020</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>guava-shaded</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>com.yugabyte</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> <!-- Version of Guava used in shaded module and for integration tests. --> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>33.3.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> <jvm>${testing.jvm}/bin/java</jvm> <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://repository.apache.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*:com.yugabyte.*</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 JDK14 --> <id>test-jdk-14</id> <activation> <jdk>[14,)</jdk> </activation> <properties> <!-- for DriverBlockHoundIntegrationIT when using JDK 13+, see https://github.com/reactor/BlockHound/issues/33 --> <blockhound.argline>-XX:+AllowRedefinitionToAddDeleteMethods</blockhound.argline> </properties> </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:YugaByte/cassandra-java-driver.git</connection> <developerConnection>scm:git:git@github.com:YugaByte/cassandra-java-driver.git</developerConnection> <url>https://github.com/yugabyte/cassandra-java-driver</url> <tag>4.19.0-yb-1</tag> </scm> <developers> <developer> <name>Yugabyte Development Team</name> <email>info@yugabyte.com</email> <organization>YugaByte, Inc.</organization> <organizationUrl>https://www.yugabyte.com</organizationUrl> </developer> </developers> <distributionManagement> <repository> <id>${yugabyte.releases.repository.id}</id> <url>${yugabyte.releases.repository.url}</url> </repository> <snapshotRepository> <id>${yugabyte.snapshots.repository.id}</id> <url>${yugabyte.snapshots.repository.url}</url> </snapshotRepository> </distributionManagement> </project>