blob: ca3505c13eef774e6f997a78648894b9b4ac66b1 [file] [log] [blame]
<!--
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>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-parent</artifactId>
<version>3.10.3-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Java Driver for Apache Cassandra</name>
<description>
A driver for Apache Cassandra 1.2+ that works exclusively with the Cassandra Query Language version 3
(CQL3) and Cassandra's binary protocol.
</description>
<url>https://github.com/datastax/java-driver</url>
<inceptionYear>2012</inceptionYear>
<modules>
<module>driver-core</module>
<module>driver-mapping</module>
<module>driver-extras</module>
<module>driver-examples</module>
<module>driver-tests</module>
<module>driver-dist</module>
</modules>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<cassandra.version>3.11.2</cassandra.version>
<java.version>1.6</java.version>
<log4j.version>1.2.17</log4j.version>
<slf4j.version>1.7.25</slf4j.version>
<slf4j-log4j12.version>1.7.25</slf4j-log4j12.version>
<guava.version>19.0</guava.version>
<netty.version>4.0.56.Final</netty.version>
<netty-tcnative.version>2.0.7.Final</netty-tcnative.version>
<metrics.version>3.2.2</metrics.version>
<snappy.version>1.1.2.6</snappy.version>
<lz4.version>1.4.1</lz4.version>
<hdr.version>2.1.10</hdr.version>
<jackson.version>2.8.11</jackson.version>
<!-- jackson-databind 2.7.x is the last to support java 6 -->
<jackson-databind.version>2.7.9.3</jackson-databind.version>
<joda.version>2.9.9</joda.version>
<jsr353-api.version>1.0</jsr353-api.version>
<jsr353-ri.version>1.0.4</jsr353-ri.version>
<!-- Note: When upgrading either jnr-ffi or jnr-posix, ensure that the versions are compatible.
JNR has broken compatibility between minor versions in the past. -->
<jnr-ffi.version>2.1.7</jnr-ffi.version>
<jnr-posix.version>3.0.44</jnr-posix.version>
<groovy.version>2.4.7</groovy.version>
<jax-rs.version>2.0.1</jax-rs.version>
<jersey.version>2.23.1</jersey.version>
<hk2.version>2.4.0-b34</hk2.version>
<felix.version>4.4.1</felix.version>
<!-- more recent versions of pax-exam require JDK7+ -->
<pax-exam.version>3.6.0</pax-exam.version>
<url.version>2.4.0</url.version>
<testng.version>6.8.8</testng.version>
<assertj.version>1.7.0</assertj.version>
<mockito.version>1.10.8</mockito.version>
<wiremock.version>2.25.0</wiremock.version>
<commons-exec.version>1.3</commons-exec.version>
<scassandra.version>1.1.2</scassandra.version>
<logback.version>1.2.3</logback.version>
<byteman.version>3.0.8</byteman.version>
<ipprefix>127.0.1.</ipprefix>
<!-- defaults below are overridden by profiles and/or submodules -->
<test.groups>unit</test.groups>
<test.osgi.skip>true</test.osgi.skip>
<javadoc.opts />
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>${project.parent.version}</version>
<classifier>shaded</classifier>
</dependency>
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>${project.parent.version}</version>
<type>test-jar</type>
</dependency>
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-mapping</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-extras</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-handler</artifactId>
<version>${netty.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-core</artifactId>
<version>${metrics.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>com.github.jnr</groupId>
<artifactId>jnr-ffi</artifactId>
<version>${jnr-ffi.version}</version>
</dependency>
<dependency>
<groupId>com.github.jnr</groupId>
<artifactId>jnr-posix</artifactId>
<version>${jnr-posix.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>io.netty</groupId>
<artifactId>netty-transport-native-epoll</artifactId>
<version>${netty.version}</version>
</dependency>
<dependency>
<groupId>org.hdrhistogram</groupId>
<artifactId>HdrHistogram</artifactId>
<version>${hdr.version}</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.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</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.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.2</version>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>${joda.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</artifactId>
<version>${pax-exam.version}</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-testng</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-reference</artifactId>
<version>${url.version}</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>${testng.version}</version>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>${assertj.version}</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>${mockito.version}</version>
</dependency>
<dependency>
<groupId>com.github.tomakehurst</groupId>
<artifactId>wiremock</artifactId>
<version>${wiremock.version}</version>
</dependency>
<dependency>
<groupId>org.scassandra</groupId>
<artifactId>java-client</artifactId>
<version>${scassandra.version}</version>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-exec</artifactId>
<version>${commons-exec.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative</artifactId>
<version>${netty-tcnative.version}</version>
<classifier>${os.detected.classifier}</classifier>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j-log4j12.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>5.0.3</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>${groovy.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<extensions>
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>1.4.1.Final</version>
</extension>
</extensions>
<!--
Run the following command to check if plugin updates are available:
mvn versions:display-plugin-updates
-->
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>3.6</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<!-- last version compatible with Java 6 -->
<version>1.9.1</version>
</plugin>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.4.1</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<optimize>true</optimize>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<!--
Avoids warnings when cross-compiling to older source levels, see
https://blogs.oracle.com/darcy/entry/bootclasspath_older_source
-->
<compilerArgument>-Xlint:-options</compilerArgument>
<!-- this actually means: use incremental compilation -->
<useIncrementalCompilation>false</useIncrementalCompilation>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.5</version>
<extensions>true</extensions>
<executions>
<execution>
<goals>
<goal>testCompile</goal>
</goals>
<configuration>
<sources>
<fileset>
<directory>${pom.basedir}/src/test/groovy</directory>
<includes>
<include>**/*.groovy</include>
</includes>
</fileset>
</sources>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>${groovy.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
<configuration>
<includes>
<include>NOTICE.txt</include>
</includes>
<excludes>
<exclude>NOTICE_binary.txt</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.4</version>
<inherited>true</inherited>
<configuration>
<quiet>true</quiet>
<verbose>false</verbose>
<additionalparam>${javadoc.opts}</additionalparam>
<links>
<link>https://docs.oracle.com/javase/8/docs/api/</link>
<link>https://google.github.io/guava/releases/19.0/api/docs/</link>
<link>http://netty.io/4.0/api/</link>
<link>http://www.joda.org/joda-time/apidocs/</link>
<link>http://fasterxml.github.io/jackson-core/javadoc/2.8/</link>
<link>http://fasterxml.github.io/jackson-databind/javadoc/2.7/</link>
<link>https://javaee-spec.java.net/nonav/javadocs/</link>
</links>
<!-- optional dependencies from other modules (must be explicitly declared here in order to be correctly resolved) -->
<additionalDependencies>
<additionalDependency>
<groupId>org.xerial.snappy</groupId>
<artifactId>snappy-java</artifactId>
<version>${snappy.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>org.lz4</groupId>
<artifactId>lz4-java</artifactId>
<version>${lz4.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>org.hdrhistogram</groupId>
<artifactId>HdrHistogram</artifactId>
<version>${hdr.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson-databind.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>${joda.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>javax.json</groupId>
<artifactId>javax.json-api</artifactId>
<version>${jsr353-api.version}</version>
</additionalDependency>
</additionalDependencies>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<!-- last version compatible with Java 6 -->
<version>2.5.4</version>
<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>
<artifactId>maven-shade-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<tagNameFormat>@{project.version}</tagNameFormat>
<autoVersionSubmodules>true</autoVersionSubmodules>
<useReleaseProfile>false</useReleaseProfile>
<releaseProfiles>release</releaseProfiles>
<goals>deploy</goals>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</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>
<groupId>org.codehaus.mojo</groupId>
<artifactId>clirr-maven-plugin</artifactId>
<!-- Last version compatible with Java 6 -->
<version>2.7</version>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<comparisonVersion>3.10.1</comparisonVersion>
<ignoredDifferencesFile>../clirr-ignores.xml</ignoredDifferencesFile>
<excludes>
<exclude>com/datastax/shaded/**</exclude>
</excludes>
</configuration>
<!--
Workaround to make clirr plugin work with Java 8.
The bug is actually in the BCEL library,
see https://issues.apache.org/jira/browse/BCEL-173.
See also https://github.com/RichardWarburton/lambda-behave/issues/31#issuecomment-86052095
-->
<dependencies>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>bcel-findbugs</artifactId>
<version>6.0</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>com.coveo</groupId>
<artifactId>fmt-maven-plugin</artifactId>
<version>2.9</version>
</plugin>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>3.0</version>
<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>
<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.codehaus.mojo</groupId>
<artifactId>animal-sniffer-maven-plugin</artifactId>
<version>1.15</version>
<executions>
<execution>
<id>check-jdk6</id>
<phase>process-classes</phase>
<goals>
<goal>check</goal>
</goals>
<configuration>
<signature>
<groupId>org.codehaus.mojo.signature</groupId>
<artifactId>java16</artifactId>
<version>1.0</version>
</signature>
<annotations>
<annotation>com.datastax.driver.core.IgnoreJDK6Requirement</annotation>
</annotations>
</configuration>
</execution>
<execution>
<id>check-jdk8</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<signature>
<groupId>org.codehaus.mojo.signature</groupId>
<artifactId>java18</artifactId>
<version>1.0</version>
</signature>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<!-- do not upgrade until https://issues.apache.org/jira/browse/SUREFIRE-1302 is fixed -->
<version>2.18</version>
<configuration>
<groups>${test.groups}</groups>
<useFile>false</useFile>
<argLine>-Djdk.attach.allowAttachSelf=true</argLine>
<systemPropertyVariables>
<cassandra.version>${cassandra.version}</cassandra.version>
<ipprefix>${ipprefix}</ipprefix>
<com.datastax.driver.NEW_NODE_DELAY_SECONDS>60</com.datastax.driver.NEW_NODE_DELAY_SECONDS>
</systemPropertyVariables>
<classpathDependencyExcludes>
<classpathDependencyExcludes>io.netty:netty-transport-native-epoll</classpathDependencyExcludes>
</classpathDependencyExcludes>
<properties>
<property>
<name>usedefaultlisteners</name>
<value>false
</value> <!-- disable default listeners as some of the html reports do a lot of File I/O -->
</property>
<property>
<!-- Don't skip tests after a @Before method throws a SkipException -->
<name>configfailurepolicy</name>
<value>continue</value>
</property>
</properties>
</configuration>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<!-- do not upgrade until https://issues.apache.org/jira/browse/SUREFIRE-1302 is fixed -->
<version>2.18</version>
<configuration>
<groups>${test.groups}</groups>
<useFile>false</useFile>
<systemPropertyVariables>
<cassandra.version>${cassandra.version}</cassandra.version>
<ipprefix>${ipprefix}</ipprefix>
<com.datastax.driver.NEW_NODE_DELAY_SECONDS>60</com.datastax.driver.NEW_NODE_DELAY_SECONDS>
</systemPropertyVariables>
<classpathDependencyExcludes>
<classpathDependencyExcludes>io.netty:netty-transport-native-epoll</classpathDependencyExcludes>
</classpathDependencyExcludes>
<properties>
<property>
<name>usedefaultlisteners</name>
<value>false
</value> <!-- disable default listeners as some of the html reports do a lot of File I/O -->
</property>
<property>
<!-- Don't skip tests after a @Before method throws a SkipException -->
<name>configfailurepolicy</name>
<value>continue</value>
</property>
</properties>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.5</version>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.8</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.ops4j</groupId>
<artifactId>maven-pax-plugin</artifactId>
<version>1.6.0</version>
<configuration>
<framework>felix</framework>
<showWarnings>true</showWarnings>
<provision>
<param>--platform=felix</param>
<param>--version=${felix.version}</param>
<param>--log=debug</param>
<param>--systemPackages=sun.misc</param>
</provision>
</configuration>
</plugin>
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
<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-jar-plugin</artifactId>
<versionRange>[2.2,)</versionRange>
<goals>
<goal>test-jar</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>clirr-maven-plugin</artifactId>
<versionRange>[2.7,)</versionRange>
<goals>
<goal>check</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<versionRange>[1.5,)</versionRange>
<goals>
<goal>testCompile</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</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>
</pluginManagement>
<plugins>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>clirr-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>short</id>
<properties>
<test.groups>unit,short</test.groups>
<test.osgi.skip>false</test.osgi.skip>
</properties>
</profile>
<profile>
<id>long</id>
<properties>
<test.groups>unit,short,long</test.groups>
<test.osgi.skip>false</test.osgi.skip>
</properties>
</profile>
<profile>
<id>duration</id>
<properties>
<test.groups>unit,short,long,duration</test.groups>
<test.osgi.skip>false</test.osgi.skip>
</properties>
</profile>
<profile>
<id>doc</id>
<properties>
<test.groups>unit,doc</test.groups>
</properties>
</profile>
<!-- default profile settings for 'isolated' test group, will skip tests unless overridden in child module. -->
<profile>
<id>isolated</id>
<properties>
<test.groups>isolated</test.groups>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
<forkCount>1</forkCount>
<reuseForks>false</reuseForks>
<reportNameSuffix>isolated</reportNameSuffix>
<!-- This requires includes to be explicitly specified by implementing classes.
This is needed to prevent creating a JVM fork for each test, even those that don't
have the isolated group. -->
<includes />
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!--
Profile activated when releasing. See:
http://central.sonatype.org/pages/apache-maven.html
-->
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-java8</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>1.8</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
<configuration>
<includes>
<include>NOTICE.txt</include>
</includes>
<excludes>
<exclude>NOTICE_binary.txt</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</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>
</plugins>
</build>
</profile>
<profile>
<id>modern-jdks</id>
<activation>
<jdk>[1.8,)</jdk>
</activation>
<properties>
<javadoc.opts>-Xdoclint:none</javadoc.opts>
</properties>
<build>
<plugins>
<!-- only activate for jdk8+ since requires java 8 -->
<plugin>
<groupId>com.coveo</groupId>
<artifactId>fmt-maven-plugin</artifactId>
<executions>
<execution>
<id>check-format</id>
<phase>initialize</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>legacy-jdks</id>
<activation>
<jdk>[,1.8)</jdk>
</activation>
<build>
<plugins>
<plugin>
<!--
Exclude Jdk* test classes from being run
This is needed in event that code was built with JDK8
and tests are ran with JDK6 or 7.
Note that running CCM tests with a legacy JDK require
setting two system properties: ccm.java.home and ccm.path;
both should point to a valid JDK8+ installation.
-->
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/jdk8/*.java</exclude>
<exclude>**/Jdk8*.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>jdk10</id>
<activation>
<jdk>10.0</jdk>
</activation>
<properties>
<!-- skip osgi testing for JDK 10 as pax-exam does not support it yet. -->
<test.osgi.skip>true</test.osgi.skip>
</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>HEAD</tag>
</scm>
<developers>
<developer>
<name>Various</name>
<organization>DataStax</organization>
</developer>
</developers>
</project>