This is an automated email from the ASF dual-hosted git repository.

absurdfarce pushed a commit to branch 3.x
in repository https://gitbox.apache.org/repos/asf/cassandra-java-driver.git


The following commit(s) were added to refs/heads/3.x by this push:
     new 2558a5678 ninja-fix Javadoc updates and cleaning up the parent build
2558a5678 is described below

commit 2558a5678a68741c6a729c2ceeebc9b6c845b192
Author: absurdfarce <[email protected]>
AuthorDate: Mon Sep 21 17:25:57 2026 -0500

    ninja-fix Javadoc updates and cleaning up the parent build
---
 .../com/datastax/driver/core/BoundStatement.java   |   2 -
 .../java/com/datastax/driver/core/Cluster.java     |  25 +-
 .../com/datastax/driver/core/CodecRegistry.java    |   5 +
 .../java/com/datastax/driver/core/CodecUtils.java  |   6 +
 .../java/com/datastax/driver/core/Duration.java    |   1 +
 .../java/com/datastax/driver/core/EndPoint.java    |   2 +
 .../com/datastax/driver/core/EndPointFactory.java  |   3 +
 .../com/datastax/driver/core/ExecutionInfo.java    |   2 +
 .../datastax/driver/core/GettableByIndexData.java  |  11 +
 .../datastax/driver/core/GettableByNameData.java   |  11 +
 .../datastax/driver/core/GuavaCompatibility.java   |  45 ++
 .../java/com/datastax/driver/core/SSLOptions.java  |   5 +-
 .../datastax/driver/core/SettableByIndexData.java  |  15 +
 .../datastax/driver/core/SettableByNameData.java   |  15 +
 .../java/com/datastax/driver/core/Statement.java   |   8 +
 .../datastax/driver/core/TableMetadataTest.java    |   2 +-
 pom.xml                                            | 465 +++++++++------------
 17 files changed, 347 insertions(+), 276 deletions(-)

diff --git 
a/driver-core/src/main/java/com/datastax/driver/core/BoundStatement.java 
b/driver-core/src/main/java/com/datastax/driver/core/BoundStatement.java
index 863498a3f..018f1f707 100644
--- a/driver-core/src/main/java/com/datastax/driver/core/BoundStatement.java
+++ b/driver-core/src/main/java/com/datastax/driver/core/BoundStatement.java
@@ -224,8 +224,6 @@ public class BoundStatement extends Statement
    *
    * Otherwise, {@code null} is returned.
    *
-   * <p>
-   *
    * <p>Note that if the routing key has been set through {@link 
BoundStatement#setRoutingKey}, then
    * that takes precedence. If the routing key has been set through {@link
    * PreparedStatement#setRoutingKey} then that is used next. If neither of 
those are set then it is
diff --git a/driver-core/src/main/java/com/datastax/driver/core/Cluster.java 
b/driver-core/src/main/java/com/datastax/driver/core/Cluster.java
index 9c95f391e..4f6fe30c8 100644
--- a/driver-core/src/main/java/com/datastax/driver/core/Cluster.java
+++ b/driver-core/src/main/java/com/datastax/driver/core/Cluster.java
@@ -841,8 +841,6 @@ public class Cluster implements Closeable {
      * protocol have more features and should be preferred, but this also 
depends on the Cassandra
      * version:
      *
-     * <p>
-     *
      * <table>
      * <caption>Native protocol version to Cassandra version 
correspondence</caption>
      * <tr><th>Protocol version</th><th>Minimum Cassandra version</th></tr>
@@ -952,6 +950,9 @@ public class Cluster implements Closeable {
      * <p>You only need this method if you use a custom connection mechanism 
and have configured a
      * custom {@link EndPointFactory}; otherwise, you can safely ignore it and 
use the higher level,
      * host-and-port-based variants such as {@link #addContactPoint(String)}.
+     *
+     * @param contactPoint instance of {@link EndPoint} to add as a contact 
point to this cluster
+     * @return this Builder
      */
     public Builder addContactPoint(EndPoint contactPoint) {
       failIfCloud();
@@ -1158,6 +1159,9 @@ public class Cluster implements Closeable {
      * <p>This is a low-level component for advanced scenarios where 
connecting to a node requires
      * more than its socket address. If you're simply using host+port, the 
default factory is
      * sufficient.
+     *
+     * @param endPointFactory instance of {@link EndPointFactory} to use with 
this cluster
+     * @return this Builder
      */
     public Builder withEndPointFactory(EndPointFactory endPointFactory) {
       policiesBuilder.withEndPointFactory(endPointFactory);
@@ -1361,13 +1365,13 @@ public class Cluster implements Closeable {
 
     /**
      * Enables the <code>NO_COMPACT</code> startup option.
-     * <p>
-     * When this option is supplied, <code>SELECT</code>, <code>UPDATE</code>, 
<code>DELETE</code> and
-     * <code>BATCH</code> statements on <code>COMPACT STORAGE</code> tables 
function in "compatibility" mode which
-     * allows seeing these tables as if they were "regular" CQL tables.
-     * <p>
-     * This option only effects interactions with tables using <code>COMPACT 
STORAGE<code> and is only supported by
-     * C* 4.0+ and DSE 6.0+.
+     *
+     * <p>When this option is supplied, <code>SELECT</code>, 
<code>UPDATE</code>, <code>DELETE
+     * </code> and <code>BATCH</code> statements on <code>COMPACT 
STORAGE</code> tables function in
+     * "compatibility" mode which allows seeing these tables as if they were 
"regular" CQL tables.
+     *
+     * <p>This option only effects interactions with tables using 
<code>COMPACT STORAGE</code> and
+     * is only supported by C* 4.0+ and DSE 6.0+.
      *
      * @return this builder.
      * @see <a 
href="https://issues.apache.org/jira/browse/CASSANDRA-10857";>CASSANDRA-10857</a>
@@ -1391,6 +1395,7 @@ public class Cluster implements Closeable {
      * return; attempting to reuse it afterwards will result in an error being 
thrown.
      *
      * @param cloudConfigFile File that contains secure connect bundle zip 
file.
+     * @return this builder.
      * @see #withCloudSecureConnectBundle(URL)
      * @see #withCloudSecureConnectBundle(InputStream)
      */
@@ -1417,6 +1422,7 @@ public class Cluster implements Closeable {
      * return; attempting to reuse it afterwards will result in an error being 
thrown.
      *
      * @param cloudConfigUrl URL to the secure connect bundle zip file.
+     * @return this builder.
      * @see #withCloudSecureConnectBundle(File)
      * @see #withCloudSecureConnectBundle(InputStream)
      */
@@ -1449,6 +1455,7 @@ public class Cluster implements Closeable {
      * return; attempting to reuse it afterwards will result in an error being 
thrown.
      *
      * @param cloudConfigInputStream A stream containing the secure connect 
bundle zip file.
+     * @return this builder.
      * @see #withCloudSecureConnectBundle(File)
      * @see #withCloudSecureConnectBundle(URL)
      */
diff --git 
a/driver-core/src/main/java/com/datastax/driver/core/CodecRegistry.java 
b/driver-core/src/main/java/com/datastax/driver/core/CodecRegistry.java
index 042085769..774dfdc1c 100644
--- a/driver-core/src/main/java/com/datastax/driver/core/CodecRegistry.java
+++ b/driver-core/src/main/java/com/datastax/driver/core/CodecRegistry.java
@@ -470,6 +470,7 @@ public final class CodecRegistry {
    * <p>Codecs returned by this method are <em>NOT</em> cached (see the {@link 
CodecRegistry
    * top-level documentation} of this class for more explanations about 
caching).
    *
+   * @param <T> the type accepted by the requested codec
    * @param value The value the codec should accept; must not be {@code null}.
    * @return A suitable codec.
    * @throws CodecNotFoundException if a suitable codec cannot be found.
@@ -489,6 +490,7 @@ public final class CodecRegistry {
    * <p>Codecs returned by this method are cached (see the {@link 
CodecRegistry top-level
    * documentation} of this class for more explanations about caching).
    *
+   * @param <T> the type accepted by the requested codec
    * @param cqlType The {@link DataType CQL type} the codec should accept; 
must not be {@code null}.
    * @return A suitable codec.
    * @throws CodecNotFoundException if a suitable codec cannot be found.
@@ -507,6 +509,7 @@ public final class CodecRegistry {
    * <p>Codecs returned by this method are cached (see the {@link 
CodecRegistry top-level
    * documentation} of this class for more explanations about caching).
    *
+   * @param <T> the type accepted by the requested codec
    * @param cqlType The {@link DataType CQL type} the codec should accept; 
must not be {@code null}.
    * @param javaType The Java type the codec should accept; can be {@code 
null}.
    * @return A suitable codec.
@@ -526,6 +529,7 @@ public final class CodecRegistry {
    * <p>Codecs returned by this method are cached (see the {@link 
CodecRegistry top-level
    * documentation} of this class for more explanations about caching).
    *
+   * @param <T> the type accepted by the requested codec
    * @param cqlType The {@link DataType CQL type} the codec should accept; 
must not be {@code null}.
    * @param javaType The {@link TypeToken Java type} the codec should accept; 
can be {@code null}.
    * @return A suitable codec.
@@ -549,6 +553,7 @@ public final class CodecRegistry {
    * <p>Codecs returned by this method are <em>NOT</em> cached (see the {@link 
CodecRegistry
    * top-level documentation} of this class for more explanations about 
caching).
    *
+   * @param <T> the type accepted by the requested codec
    * @param cqlType The {@link DataType CQL type} the codec should accept; can 
be {@code null}.
    * @param value The value the codec should accept; must not be {@code null}.
    * @return A suitable codec.
diff --git a/driver-core/src/main/java/com/datastax/driver/core/CodecUtils.java 
b/driver-core/src/main/java/com/datastax/driver/core/CodecUtils.java
index 6f9ee1e58..8a3621e52 100644
--- a/driver-core/src/main/java/com/datastax/driver/core/CodecUtils.java
+++ b/driver-core/src/main/java/com/datastax/driver/core/CodecUtils.java
@@ -167,6 +167,9 @@ public final class CodecUtils {
    *
    * <p>The protocol encodes DATE values as <em>unsigned</em> ints with the 
Epoch in the middle of
    * the range (2^31). This method handles the conversion from an "unsigned" 
to a signed int.
+   *
+   * @param unsigned the (unsigned) value to convert
+   * @return the input arg as a signed value
    */
   public static int fromUnsignedToSignedInt(int unsigned) {
     return unsigned + Integer.MIN_VALUE; // this relies on overflow for 
"negative" values
@@ -177,6 +180,9 @@ public final class CodecUtils {
    *
    * <p>The protocol encodes DATE values as <em>unsigned</em> ints with the 
Epoch in the middle of
    * the range (2^31). This method handles the conversion from a signed to an 
"unsigned" int.
+   *
+   * @param signed the (signed) value to convert
+   * @return the input arg as an unsigned value
    */
   public static int fromSignedToUnsignedInt(int signed) {
     return signed - Integer.MIN_VALUE;
diff --git a/driver-core/src/main/java/com/datastax/driver/core/Duration.java 
b/driver-core/src/main/java/com/datastax/driver/core/Duration.java
index f097f8e38..2d5283d18 100644
--- a/driver-core/src/main/java/com/datastax/driver/core/Duration.java
+++ b/driver-core/src/main/java/com/datastax/driver/core/Duration.java
@@ -89,6 +89,7 @@ public final class Duration {
    * @param months the number of months
    * @param days the number of days
    * @param nanoseconds the number of nanoseconds
+   * @return a {@link Duration} built from the supplied arguments
    * @throws IllegalArgumentException if the values are not all negative or 
all positive
    */
   public static Duration newInstance(int months, int days, long nanoseconds) {
diff --git a/driver-core/src/main/java/com/datastax/driver/core/EndPoint.java 
b/driver-core/src/main/java/com/datastax/driver/core/EndPoint.java
index 4900084c2..309fbefde 100644
--- a/driver-core/src/main/java/com/datastax/driver/core/EndPoint.java
+++ b/driver-core/src/main/java/com/datastax/driver/core/EndPoint.java
@@ -27,6 +27,8 @@ public interface EndPoint {
    *
    * <p>This will be called each time the driver opens a new connection to the 
node. The returned
    * address cannot be null.
+   *
+   * @return an {@link InetSocketAddress} representing the resolved IP address
    */
   InetSocketAddress resolve();
 }
diff --git 
a/driver-core/src/main/java/com/datastax/driver/core/EndPointFactory.java 
b/driver-core/src/main/java/com/datastax/driver/core/EndPointFactory.java
index 0941720ea..3a9612417 100644
--- a/driver-core/src/main/java/com/datastax/driver/core/EndPointFactory.java
+++ b/driver-core/src/main/java/com/datastax/driver/core/EndPointFactory.java
@@ -34,6 +34,9 @@ public interface EndPointFactory {
   /**
    * Creates an instance from a row in {@code system.peers}, or returns {@code 
null} if there is no
    * sufficient information.
+   *
+   * @param peersRow the row we wish to create an {@link EndPoint} for
+   * @return the generated {@link EndPoint}
    */
   EndPoint create(Row peersRow);
 }
diff --git 
a/driver-core/src/main/java/com/datastax/driver/core/ExecutionInfo.java 
b/driver-core/src/main/java/com/datastax/driver/core/ExecutionInfo.java
index 6b1c60678..577f2cd3d 100644
--- a/driver-core/src/main/java/com/datastax/driver/core/ExecutionInfo.java
+++ b/driver-core/src/main/java/com/datastax/driver/core/ExecutionInfo.java
@@ -175,6 +175,7 @@ public class ExecutionInfo {
    * executions are disabled, this will always be 0. If they are enabled and 
one speculative
    * execution was triggered in addition to the initial execution, this will 
be 1, etc.
    *
+   * @return the number of speculative executions
    * @see #getSuccessfulExecutionIndex()
    * @see
    *     
Cluster.Builder#withSpeculativeExecutionPolicy(com.datastax.driver.core.policies.SpeculativeExecutionPolicy)
@@ -189,6 +190,7 @@ public class ExecutionInfo {
    * <p>0 represents the initial, normal execution of the query, 1 represents 
the first speculative
    * execution, etc.
    *
+   * @return the index of the specific speculative execution which completed 
this query
    * @see #getSpeculativeExecutions()
    * @see
    *     
Cluster.Builder#withSpeculativeExecutionPolicy(com.datastax.driver.core.policies.SpeculativeExecutionPolicy)
diff --git 
a/driver-core/src/main/java/com/datastax/driver/core/GettableByIndexData.java 
b/driver-core/src/main/java/com/datastax/driver/core/GettableByIndexData.java
index 7a10bc8c5..23a15282a 100644
--- 
a/driver-core/src/main/java/com/datastax/driver/core/GettableByIndexData.java
+++ 
b/driver-core/src/main/java/com/datastax/driver/core/GettableByIndexData.java
@@ -320,6 +320,7 @@ public interface GettableByIndexData {
    * instances, and a CQL {@code NULL} will be mapped to an empty collection 
(note that Cassandra
    * makes no distinction between {@code NULL} and an empty collection).
    *
+   * @param <T> the type of element in the list
    * @param i the index ({@code 0 <= i < size()}) to retrieve.
    * @param elementsClass the class for the elements of the list to retrieve.
    * @return the value of the {@code i}th element as a list of {@code T} 
objects.
@@ -348,6 +349,7 @@ public interface GettableByIndexData {
    * instances, and a CQL {@code NULL} will mapped to an empty collection 
(note that Cassandra makes
    * no distinction between {@code NULL} and an empty collection).
    *
+   * @param <T> the type of element in the list
    * @param i the index ({@code 0 <= i < size()}) to retrieve.
    * @param elementsType the type of the elements of the list to retrieve.
    * @return the value of the {@code i}th element as a list of {@code T} 
objects.
@@ -372,6 +374,7 @@ public interface GettableByIndexData {
    * instances, and a CQL {@code NULL} will mapped to an empty collection 
(note that Cassandra makes
    * no distinction between {@code NULL} and an empty collection).
    *
+   * @param <T> the type of element in the set
    * @param i the index ({@code 0 <= i < size()}) to retrieve.
    * @param elementsClass the class for the elements of the set to retrieve.
    * @return the value of the {@code i}th element as a set of {@code T} 
objects.
@@ -400,6 +403,7 @@ public interface GettableByIndexData {
    * instances, and a CQL {@code NULL} will mapped to an empty collection 
(note that Cassandra makes
    * no distinction between {@code NULL} and an empty collection).
    *
+   * @param <T> the type of element in the set
    * @param i the index ({@code 0 <= i < size()}) to retrieve.
    * @param elementsType the type for the elements of the set to retrieve.
    * @return the value of the {@code i}th element as a set of {@code T} 
objects.
@@ -425,6 +429,8 @@ public interface GettableByIndexData {
    * instances, and a CQL {@code NULL} will mapped to an empty collection 
(note that Cassandra makes
    * no distinction between {@code NULL} and an empty collection).
    *
+   * @param <K> the type of element used for keys in the map
+   * @param <V> the type of element used for values in the map
    * @param i the index ({@code 0 <= i < size()}) to retrieve.
    * @param keysClass the class for the keys of the map to retrieve.
    * @param valuesClass the class for the values of the map to retrieve.
@@ -454,6 +460,8 @@ public interface GettableByIndexData {
    * instances, and a CQL {@code NULL} will mapped to an empty collection 
(note that Cassandra makes
    * no distinction between {@code NULL} and an empty collection).
    *
+   * @param <K> the type of element used for keys in the map
+   * @param <V> the type of element used for values in the map
    * @param i the index ({@code 0 <= i < size()}) to retrieve.
    * @param keysType the type for the keys of the map to retrieve.
    * @param valuesType the type for the values of the map to retrieve.
@@ -531,6 +539,7 @@ public interface GettableByIndexData {
    * {@code null} for simple CQL types, UDTs and tuples, and to empty 
collections for all CQL
    * collection types.
    *
+   * @param <T> the type of element to get
    * @param i the index to retrieve.
    * @param targetClass The Java type the value should be converted to.
    * @return the value of the {@code i}th value converted to the given Java 
type.
@@ -553,6 +562,7 @@ public interface GettableByIndexData {
    * {@code null} for simple CQL types, UDTs and tuples, and to empty 
collections for all CQL
    * collection types.
    *
+   * @param <T> the type of element to get
    * @param i the index to retrieve.
    * @param targetType The Java type the value should be converted to.
    * @return the value of the {@code i}th value converted to the given Java 
type.
@@ -580,6 +590,7 @@ public interface GettableByIndexData {
    * {@code null} for simple CQL types, UDTs and tuples, and to empty 
collections for all CQL
    * collection types.
    *
+   * @param <T> the type of element to get
    * @param i the index to retrieve.
    * @param codec The {@link TypeCodec} to use to deserialize the value; may 
not be {@code null}.
    * @return the value of the {@code i}th value converted using the given 
{@link TypeCodec}.
diff --git 
a/driver-core/src/main/java/com/datastax/driver/core/GettableByNameData.java 
b/driver-core/src/main/java/com/datastax/driver/core/GettableByNameData.java
index e74fa49e6..f4649d7c4 100644
--- a/driver-core/src/main/java/com/datastax/driver/core/GettableByNameData.java
+++ b/driver-core/src/main/java/com/datastax/driver/core/GettableByNameData.java
@@ -319,6 +319,7 @@ public interface GettableByNameData {
    * instances, and a CQL {@code NULL} will mapped to an empty collection 
(note that Cassandra makes
    * no distinction between {@code NULL} and an empty collection).
    *
+   * @param <T> the type of element in the list
    * @param name the name to retrieve.
    * @param elementsClass the class for the elements of the list to retrieve.
    * @return the value of the {@code i}th element as a list of {@code T} 
objects.
@@ -347,6 +348,7 @@ public interface GettableByNameData {
    * instances, and a CQL {@code NULL} will mapped to an empty collection 
(note that Cassandra makes
    * no distinction between {@code NULL} and an empty collection).
    *
+   * @param <T> the type of element in the list
    * @param name the name to retrieve.
    * @param elementsType the type for the elements of the list to retrieve.
    * @return the value of the {@code i}th element as a list of {@code T} 
objects.
@@ -371,6 +373,7 @@ public interface GettableByNameData {
    * instances, and a CQL {@code NULL} will mapped to an empty collection 
(note that Cassandra makes
    * no distinction between {@code NULL} and an empty collection).
    *
+   * @param <T> the type of element in the set
    * @param name the name to retrieve.
    * @param elementsClass the class for the elements of the set to retrieve.
    * @return the value of the {@code i}th element as a set of {@code T} 
objects.
@@ -399,6 +402,7 @@ public interface GettableByNameData {
    * instances, and a CQL {@code NULL} will mapped to an empty collection 
(note that Cassandra makes
    * no distinction between {@code NULL} and an empty collection).
    *
+   * @param <T> the type of element in the set
    * @param name the name to retrieve.
    * @param elementsType the type for the elements of the set to retrieve.
    * @return the value of the {@code i}th element as a set of {@code T} 
objects.
@@ -424,6 +428,8 @@ public interface GettableByNameData {
    * instances, and a CQL {@code NULL} will mapped to an empty collection 
(note that Cassandra makes
    * no distinction between {@code NULL} and an empty collection).
    *
+   * @param <K> the type of element used for keys in the map
+   * @param <V> the type of element used for values in the map
    * @param name the name to retrieve.
    * @param keysClass the class for the keys of the map to retrieve.
    * @param valuesClass the class for the values of the map to retrieve.
@@ -453,6 +459,8 @@ public interface GettableByNameData {
    * instances, and a CQL {@code NULL} will mapped to an empty collection 
(note that Cassandra makes
    * no distinction between {@code NULL} and an empty collection).
    *
+   * @param <K> the type of element used for keys in the map
+   * @param <V> the type of element used for values in the map
    * @param name the name to retrieve.
    * @param keysType the class for the keys of the map to retrieve.
    * @param valuesType the class for the values of the map to retrieve.
@@ -532,6 +540,7 @@ public interface GettableByNameData {
    * {@code null} for simple CQL types, UDTs and tuples, and to empty 
collections for all CQL
    * collection types.
    *
+   * @param <T> the type of element to get
    * @param name the name to retrieve.
    * @param targetClass The Java type the value should be converted to.
    * @return the value for {@code name} value converted to the given Java type.
@@ -554,6 +563,7 @@ public interface GettableByNameData {
    * {@code null} for simple CQL types, UDTs and tuples, and to empty 
collections for all CQL
    * collection types.
    *
+   * @param <T> the type of element to get
    * @param name the name to retrieve.
    * @param targetType The Java type the value should be converted to.
    * @return the value for {@code name} value converted to the given Java type.
@@ -581,6 +591,7 @@ public interface GettableByNameData {
    * {@code null} for simple CQL types, UDTs and tuples, and to empty 
collections for all CQL
    * collection types.
    *
+   * @param <T> the type of element to get
    * @param name the name to retrieve.
    * @param codec The {@link TypeCodec} to use to deserialize the value; may 
not be {@code null}.
    * @return the value of the {@code i}th value converted using the given 
{@link TypeCodec}.
diff --git 
a/driver-core/src/main/java/com/datastax/driver/core/GuavaCompatibility.java 
b/driver-core/src/main/java/com/datastax/driver/core/GuavaCompatibility.java
index ec53806b7..83ba45a3e 100644
--- a/driver-core/src/main/java/com/datastax/driver/core/GuavaCompatibility.java
+++ b/driver-core/src/main/java/com/datastax/driver/core/GuavaCompatibility.java
@@ -73,6 +73,10 @@ public abstract class GuavaCompatibility {
    * Returns a {@code Future} whose result is taken from the given primary 
{@code input} or, if the
    * primary input fails, from the {@code Future} provided by the {@code 
fallback}.
    *
+   * @param <V> the type returned by the future
+   * @param input the {@link ListenableFuture} whose value we return on 
successful completion
+   * @param fallback the {@link AsyncFunction} invoked if the input {@link 
ListenableFuture} fails
+   * @return a {@link ListenableFuture} composed from the supplied parameters
    * @see Futures#withFallback(ListenableFuture, 
com.google.common.util.concurrent.FutureFallback)
    * @see Futures#catchingAsync(ListenableFuture, Class, AsyncFunction)
    */
@@ -83,6 +87,11 @@ public abstract class GuavaCompatibility {
    * Returns a {@code Future} whose result is taken from the given primary 
{@code input} or, if the
    * primary input fails, from the {@code Future} provided by the {@code 
fallback}.
    *
+   * @param <V> the type returned by the future
+   * @param input the {@link ListenableFuture} whose value we return on 
successful completion
+   * @param fallback the {@link AsyncFunction} invoked if the input {@link 
ListenableFuture} fails
+   * @param executor the {@link Executor} used to run the {@link 
AsyncFunction} if necessary
+   * @return a {@link ListenableFuture} composed from the supplied parameters
    * @see Futures#withFallback(ListenableFuture, 
com.google.common.util.concurrent.FutureFallback,
    *     Executor)
    * @see Futures#catchingAsync(ListenableFuture, Class, AsyncFunction, 
Executor)
@@ -97,6 +106,9 @@ public abstract class GuavaCompatibility {
    *
    * <p>The callback is run in {@link #sameThreadExecutor()}.
    *
+   * @param <I> the type returned by the future
+   * @param input the {@link ListenableFuture} to add the callback to
+   * @param callback the {@link FutureCallback} to be added to the {@link 
ListenableFuture}
    * @see Futures#addCallback(ListenableFuture, FutureCallback, Executor)
    */
   public <I> void addCallback(ListenableFuture<I> input, FutureCallback<? 
super I> callback) {
@@ -108,6 +120,10 @@ public abstract class GuavaCompatibility {
    * computation is {@linkplain java.util.concurrent.Future#isDone() complete} 
or, if the
    * computation is already complete, immediately.
    *
+   * @param <I> the type returned by the future
+   * @param input the {@link ListenableFuture} to add the callback to
+   * @param callback the {@link FutureCallback} to be added to the {@link 
ListenableFuture}
+   * @param executor the {@link Executor} used to run the {@link 
FutureCallback}
    * @see Futures#addCallback(ListenableFuture, FutureCallback, Executor)
    */
   public <I> void addCallback(
@@ -121,6 +137,11 @@ public abstract class GuavaCompatibility {
    *
    * <p>The callback is run in {@link #sameThreadExecutor()}.
    *
+   * @param <I> the type returned by the future (and accepted by the supplied 
function)
+   * @param <O> the type returned by the supplied function
+   * @param input the {@link ListenableFuture} whose value we return on 
successful completion
+   * @param function the {@link Function} used to transform the function output
+   * @return a {@link ListenableFuture} composed from the supplied parameters
    * @see Futures#transform(ListenableFuture, Function, Executor)
    */
   public <I, O> ListenableFuture<O> transform(
@@ -132,6 +153,12 @@ public abstract class GuavaCompatibility {
    * Returns a new {@code ListenableFuture} whose result is the product of 
applying the given {@code
    * Function} to the result of the given {@code Future}.
    *
+   * @param <I> the type returned by the future (and accepted by the supplied 
function)
+   * @param <O> the type returned by the supplied function
+   * @param input the {@link ListenableFuture} whose value we return on 
successful completion
+   * @param function the {@link Function} used to transform the function output
+   * @param executor the {@link Executor} used to run the transform function
+   * @return a {@link ListenableFuture} composed from the supplied parameters
    * @see Futures#transform(ListenableFuture, Function, Executor)
    */
   public <I, O> ListenableFuture<O> transform(
@@ -145,6 +172,11 @@ public abstract class GuavaCompatibility {
    * a {@code Future} produced by applying the given {@code AsyncFunction} to 
the result of the
    * original {@code Future}.
    *
+   * @param <I> the type returned by the future (and accepted by the supplied 
function)
+   * @param <O> the type returned by the supplied function
+   * @param input the {@link ListenableFuture} whose value we return on 
successful completion
+   * @param function the {@link AsyncFunction} used to transform the function 
output
+   * @return a {@link ListenableFuture} composed from the supplied parameters
    * @see Futures#transform(ListenableFuture, AsyncFunction)
    * @see Futures#transformAsync(ListenableFuture, AsyncFunction)
    */
@@ -157,6 +189,12 @@ public abstract class GuavaCompatibility {
    * a {@code Future} produced by applying the given {@code AsyncFunction} to 
the result of the
    * original {@code Future}.
    *
+   * @param <I> the type returned by the future (and accepted by the supplied 
function)
+   * @param <O> the type returned by the supplied function
+   * @param input the {@link ListenableFuture} whose value we return on 
successful completion
+   * @param function the {@link AsyncFunction} used to transform the function 
output
+   * @param executor the {@link Executor} used to run the transform function
+   * @return a {@link ListenableFuture} composed from the supplied parameters
    * @see Futures#transform(ListenableFuture, AsyncFunction, Executor)
    * @see Futures#transformAsync(ListenableFuture, AsyncFunction, Executor)
    */
@@ -168,6 +206,9 @@ public abstract class GuavaCompatibility {
    * according to <a 
href="http://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.5.1";
    * >the rules for type arguments</a> introduced with Java generics.
    *
+   * @param target the suspected supertype
+   * @param argument the suspected subtype
+   * @return true if {@code target} is a supertype of {@code argument}, false 
otherwise
    * @see TypeToken#isAssignableFrom(Type)
    * @see TypeToken#isSupertypeOf(Type)
    */
@@ -178,6 +219,7 @@ public abstract class GuavaCompatibility {
    * Executor#execute execute}, as in {@link
    * java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy}.
    *
+   * @return an {@link Executor} instance which runs each in the thread that 
invokes it
    * @see MoreExecutors#sameThreadExecutor()
    * @see MoreExecutors#directExecutor()
    */
@@ -189,6 +231,9 @@ public abstract class GuavaCompatibility {
    *
    * <p>The method {@code HostAndPort.getHostText} has been replaced with 
{@code
    * HostAndPort.getHost} starting with Guava 20.0; it has been completely 
removed in Guava 22.0.
+   *
+   * @param hostAndPort the {@link HostAndPort} instance to be evaluated
+   * @return a {@code String} representing the host
    */
   @SuppressWarnings("JavaReflectionMemberAccess")
   public String getHost(HostAndPort hostAndPort) {
diff --git a/driver-core/src/main/java/com/datastax/driver/core/SSLOptions.java 
b/driver-core/src/main/java/com/datastax/driver/core/SSLOptions.java
index f97b56c73..4a356d3d9 100644
--- a/driver-core/src/main/java/com/datastax/driver/core/SSLOptions.java
+++ b/driver-core/src/main/java/com/datastax/driver/core/SSLOptions.java
@@ -19,6 +19,7 @@ package com.datastax.driver.core;
 
 import io.netty.channel.socket.SocketChannel;
 import io.netty.handler.ssl.SslHandler;
+import java.net.InetSocketAddress;
 
 /**
  * Defines how the driver configures SSL connections.
@@ -45,8 +46,8 @@ public interface SSLOptions {
    *
    * @param channel the channel.
    * @return the handler.
-   * @deprecated use {@link 
RemoteEndpointAwareSSLOptions#newSSLHandler(SocketChannel, EndPoint)}
-   *     instead.
+   * @deprecated use {@link 
RemoteEndpointAwareSSLOptions#newSSLHandler(SocketChannel,
+   *     InetSocketAddress)} instead.
    */
   @SuppressWarnings("DeprecatedIsStillUsed")
   @Deprecated
diff --git 
a/driver-core/src/main/java/com/datastax/driver/core/SettableByIndexData.java 
b/driver-core/src/main/java/com/datastax/driver/core/SettableByIndexData.java
index 6c3747603..4449449db 100644
--- 
a/driver-core/src/main/java/com/datastax/driver/core/SettableByIndexData.java
+++ 
b/driver-core/src/main/java/com/datastax/driver/core/SettableByIndexData.java
@@ -305,6 +305,7 @@ public interface SettableByIndexData<T extends 
SettableByIndexData<T>> {
    * reason, it is generally preferable to use the more deterministic methods 
{@link #setList(int,
    * List, Class)} or {@link #setList(int, List, TypeToken)}.
    *
+   * @param <E> the type of element in the list
    * @param i the index of the value to set.
    * @param v the value to set. Note that {@code null} values inside 
collections are not supported
    *     by CQL.
@@ -325,6 +326,7 @@ public interface SettableByIndexData<T extends 
SettableByIndexData<T>> {
    *
    * <p>If the type of the elements is generic, use {@link #setList(int, List, 
TypeToken)}.
    *
+   * @param <E> the type of element in the list
    * @param i the index of the value to set.
    * @param v the value to set. Note that {@code null} values inside 
collections are not supported
    *     by CQL.
@@ -344,6 +346,7 @@ public interface SettableByIndexData<T extends 
SettableByIndexData<T>> {
    * <p>This method uses the {@link CodecRegistry} to find a codec to handle 
the conversion of lists
    * of the given Java type to the underlying CQL type.
    *
+   * @param <E> the type of element in the list
    * @param i the index of the value to set.
    * @param v the value to set. Note that {@code null} values inside 
collections are not supported
    *     by CQL.
@@ -366,6 +369,8 @@ public interface SettableByIndexData<T extends 
SettableByIndexData<T>> {
    * reason, it is generally preferable to use the more deterministic methods 
{@link #setMap(int,
    * Map, Class, Class)} or {@link #setMap(int, Map, TypeToken, TypeToken)}.
    *
+   * @param <K> the type of element used for keys in the map
+   * @param <V> the type of element used for values in the map
    * @param i the index of the value to set.
    * @param v the value to set. Note that {@code null} values inside 
collections are not supported
    *     by CQL.
@@ -388,6 +393,8 @@ public interface SettableByIndexData<T extends 
SettableByIndexData<T>> {
    * <p>If the type of the keys or values is generic, use {@link #setMap(int, 
Map, TypeToken,
    * TypeToken)}.
    *
+   * @param <K> the type of element used for keys in the map
+   * @param <V> the type of element used for values in the map
    * @param i the index of the value to set.
    * @param v the value to set. Note that {@code null} values inside 
collections are not supported
    *     by CQL.
@@ -409,6 +416,8 @@ public interface SettableByIndexData<T extends 
SettableByIndexData<T>> {
    * <p>This method uses the {@link CodecRegistry} to find a codec to handle 
the conversion of lists
    * of the given Java types to the underlying CQL type.
    *
+   * @param <K> the type of element used for keys in the map
+   * @param <V> the type of element used for values in the map
    * @param i the index of the value to set.
    * @param v the value to set. Note that {@code null} values inside 
collections are not supported
    *     by CQL.
@@ -432,6 +441,7 @@ public interface SettableByIndexData<T extends 
SettableByIndexData<T>> {
    * reason, it is generally preferable to use the more deterministic methods 
{@link #setSet(int,
    * Set, Class)} or {@link #setSet(int, Set, TypeToken)}.
    *
+   * @param <E> the type of element in the set
    * @param i the index of the value to set.
    * @param v the value to set. Note that {@code null} values inside 
collections are not supported
    *     by CQL.
@@ -452,6 +462,7 @@ public interface SettableByIndexData<T extends 
SettableByIndexData<T>> {
    *
    * <p>If the type of the elements is generic, use {@link #setSet(int, Set, 
TypeToken)}.
    *
+   * @param <E> the type of element in the set
    * @param i the index of the value to set.
    * @param v the value to set. Note that {@code null} values inside 
collections are not supported
    *     by CQL.
@@ -471,6 +482,7 @@ public interface SettableByIndexData<T extends 
SettableByIndexData<T>> {
    * <p>This method uses the {@link CodecRegistry} to find a codec to handle 
the conversion of sets
    * of the given Java type to the underlying CQL type.
    *
+   * @param <E> the type of element in the set
    * @param i the index of the value to set.
    * @param v the value to set. Note that {@code null} values inside 
collections are not supported
    *     by CQL.
@@ -533,6 +545,7 @@ public interface SettableByIndexData<T extends 
SettableByIndexData<T>> {
    *
    * <p>If the Java type is generic, use {@link #set(int, Object, TypeToken)} 
instead.
    *
+   * @param <V> the type of element to set
    * @param i the index of the value to set.
    * @param v the value to set; may be {@code null}.
    * @param targetClass The Java class to convert to; must not be {@code null};
@@ -549,6 +562,7 @@ public interface SettableByIndexData<T extends 
SettableByIndexData<T>> {
    * <p>This method uses the {@link CodecRegistry} to find a codec to handle 
the conversion of the
    * provided Java type to the underlying CQL type.
    *
+   * @param <V> the type of element to set
    * @param i the index of the value to set.
    * @param v the value to set; may be {@code null}.
    * @param targetType The Java type to convert to; must not be {@code null};
@@ -570,6 +584,7 @@ public interface SettableByIndexData<T extends 
SettableByIndexData<T>> {
    * TypeCodec#accepts(DataType) accepts} the underlying CQL type; failing to 
do so may result in
    * {@link InvalidTypeException}s being thrown.
    *
+   * @param <V> the type of element to set
    * @param i the index of the value to set.
    * @param v the value to set; may be {@code null}.
    * @param codec The {@link TypeCodec} to use to serialize the value; may not 
be {@code null}.
diff --git 
a/driver-core/src/main/java/com/datastax/driver/core/SettableByNameData.java 
b/driver-core/src/main/java/com/datastax/driver/core/SettableByNameData.java
index f9ae68525..0a86144cc 100644
--- a/driver-core/src/main/java/com/datastax/driver/core/SettableByNameData.java
+++ b/driver-core/src/main/java/com/datastax/driver/core/SettableByNameData.java
@@ -324,6 +324,7 @@ public interface SettableByNameData<T extends 
SettableData<T>> {
    * reason, it is generally preferable to use the more deterministic methods 
{@link
    * #setList(String, List, Class)} or {@link #setList(String, List, 
TypeToken)}.
    *
+   * @param <E> the type of element in the list
    * @param name the name of the value to set; if {@code name} is present 
multiple times, all its
    *     values are set.
    * @param v the value to set. Note that {@code null} values inside 
collections are not supported
@@ -346,6 +347,7 @@ public interface SettableByNameData<T extends 
SettableData<T>> {
    *
    * <p>If the type of the elements is generic, use {@link #setList(String, 
List, TypeToken)}.
    *
+   * @param <E> the type of element in the list
    * @param name the name of the value to set; if {@code name} is present 
multiple
    * @param v the value to set. Note that {@code null} values inside 
collections are not supported
    *     by CQL.
@@ -366,6 +368,7 @@ public interface SettableByNameData<T extends 
SettableData<T>> {
    * <p>This method uses the {@link CodecRegistry} to find a codec to handle 
the conversion of lists
    * of the given Java type to the underlying CQL type.
    *
+   * @param <E> the type of element in the list
    * @param name the name of the value to set; if {@code name} is present 
multiple
    * @param v the value to set. Note that {@code null} values inside 
collections are not supported
    *     by CQL.
@@ -388,6 +391,8 @@ public interface SettableByNameData<T extends 
SettableData<T>> {
    * reason, it is generally preferable to use the more deterministic methods 
{@link #setMap(String,
    * Map, Class, Class)} or {@link #setMap(String, Map, TypeToken, TypeToken)}.
    *
+   * @param <K> the type of element used for keys in the map
+   * @param <V> the type of element used for values in the map
    * @param name the name of the value to set; if {@code name} is present 
multiple times, all its
    *     values are set.
    * @param v the value to set. Note that {@code null} values inside 
collections are not supported
@@ -411,6 +416,8 @@ public interface SettableByNameData<T extends 
SettableData<T>> {
    * <p>If the type of the keys or values is generic, use {@link 
#setMap(String, Map, TypeToken,
    * TypeToken)}.
    *
+   * @param <K> the type of element used for keys in the map
+   * @param <V> the type of element used for values in the map
    * @param name the name of the value to set; if {@code name} is present 
multiple times, all its
    *     values are set.
    * @param v the value to set. Note that {@code null} values inside 
collections are not supported
@@ -433,6 +440,8 @@ public interface SettableByNameData<T extends 
SettableData<T>> {
    * <p>This method uses the {@link CodecRegistry} to find a codec to handle 
the conversion of lists
    * of the given Java types to the underlying CQL type.
    *
+   * @param <K> the type of element used for keys in the map
+   * @param <V> the type of element used for values in the map
    * @param name the name of the value to set; if {@code name} is present 
multiple times, all its
    *     values are set.
    * @param v the value to set. Note that {@code null} values inside 
collections are not supported
@@ -457,6 +466,7 @@ public interface SettableByNameData<T extends 
SettableData<T>> {
    * reason, it is generally preferable to use the more deterministic methods 
{@link #setSet(String,
    * Set, Class)} or {@link #setSet(String, Set, TypeToken)}.
    *
+   * @param <E> the type of element in the set
    * @param name the name of the value to set; if {@code name} is present 
multiple times, all its
    *     values are set.
    * @param v the value to set. Note that {@code null} values inside 
collections are not supported
@@ -479,6 +489,7 @@ public interface SettableByNameData<T extends 
SettableData<T>> {
    *
    * <p>If the type of the elements is generic, use {@link #setSet(String, 
Set, TypeToken)}.
    *
+   * @param <E> the type of element in the set
    * @param name the name of the value to set; if {@code name} is present 
multiple
    * @param v the value to set. Note that {@code null} values inside 
collections are not supported
    *     by CQL.
@@ -499,6 +510,7 @@ public interface SettableByNameData<T extends 
SettableData<T>> {
    * <p>This method uses the {@link CodecRegistry} to find a codec to handle 
the conversion of sets
    * of the given Java type to the underlying CQL type.
    *
+   * @param <E> the type of element in the set
    * @param name the name of the value to set; if {@code name} is present 
multiple
    * @param v the value to set. Note that {@code null} values inside 
collections are not supported
    *     by CQL.
@@ -565,6 +577,7 @@ public interface SettableByNameData<T extends 
SettableData<T>> {
    *
    * <p>If the Java type is generic, use {@link #set(String, Object, 
TypeToken)} instead.
    *
+   * @param <V> the type of element to set
    * @param name the name of the value to set; if {@code name} is present 
multiple times, all its
    *     values are set.
    * @param v the value to set; may be {@code null}.
@@ -583,6 +596,7 @@ public interface SettableByNameData<T extends 
SettableData<T>> {
    * <p>This method uses the {@link CodecRegistry} to find a codec to handle 
the conversion of the
    * provided Java type to the underlying CQL type.
    *
+   * @param <V> the type of element to set
    * @param name the name of the value to set; if {@code name} is present 
multiple times, all its
    *     values are set.
    * @param v the value to set; may be {@code null}.
@@ -606,6 +620,7 @@ public interface SettableByNameData<T extends 
SettableData<T>> {
    * TypeCodec#accepts(DataType) accepts} the underlying CQL type; failing to 
do so may result in
    * {@link InvalidTypeException}s being thrown.
    *
+   * @param <V> the type of element to set
    * @param name the name of the value to set; if {@code name} is present 
multiple times, all its
    *     values are set.
    * @param v the value to set; may be {@code null}.
diff --git a/driver-core/src/main/java/com/datastax/driver/core/Statement.java 
b/driver-core/src/main/java/com/datastax/driver/core/Statement.java
index a6190dfb1..34d05b3ef 100644
--- a/driver-core/src/main/java/com/datastax/driver/core/Statement.java
+++ b/driver-core/src/main/java/com/datastax/driver/core/Statement.java
@@ -445,6 +445,7 @@ public abstract class Statement {
    *
    * @param pagingState the paging state to set, or {@code null} to remove any 
state that was
    *     previously set on this statement.
+   * @return this {@code Statement} object.
    */
   public Statement setPagingState(PagingState pagingState) {
     return setPagingState(pagingState, CodecRegistry.DEFAULT_INSTANCE);
@@ -595,6 +596,10 @@ public abstract class Statement {
    *
    * <p>Note that the returned value is not cached, but instead recomputed at 
every method call.
    *
+   * @param protocolVersion the protocol version that will be used to 
serialize values in order to
+   *     determine their size.
+   * @param codecRegistry the codec registry that will be used to serialize 
values in order to
+   *     determine their size.
    * @return the number of bytes required to encode this statement.
    */
   public int requestSizeInBytes(ProtocolVersion protocolVersion, CodecRegistry 
codecRegistry) {
@@ -663,6 +668,9 @@ public abstract class Statement {
   /**
    * Sets the "now in seconds" to use when applying the request (for testing 
purposes). {@link
    * Integer#MIN_VALUE} means "no value".
+   *
+   * @param nowInSeconds the value of "now in seconds" to use with this 
statement
+   * @return this {@link Statement} object.
    */
   public Statement setNowInSeconds(int nowInSeconds) {
     this.nowInSeconds = nowInSeconds;
diff --git 
a/driver-core/src/test/java/com/datastax/driver/core/TableMetadataTest.java 
b/driver-core/src/test/java/com/datastax/driver/core/TableMetadataTest.java
index 97640afa1..bf437ebb5 100644
--- a/driver-core/src/test/java/com/datastax/driver/core/TableMetadataTest.java
+++ b/driver-core/src/test/java/com/datastax/driver/core/TableMetadataTest.java
@@ -421,7 +421,7 @@ public class TableMetadataTest extends CCMTestsSupport {
         .contains("'sstable_size_in_mb' : 15")
         .contains(
             "'class' : 'org.apache.cassandra.io.compress.SnappyCompressor'") 
// sstable_compression
-                                                                             
// becomes class
+        // becomes class
         .contains("'chunk_length_in_kb' : 128") // note the "in" prefix
         .contains("default_time_to_live = 0")
         .contains(
diff --git a/pom.xml b/pom.xml
index fb98e2e36..cd347babc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -96,9 +96,7 @@
     </properties>
 
     <dependencyManagement>
-
         <dependencies>
-
             <dependency>
                 <groupId>org.apache.cassandra</groupId>
                 <artifactId>cassandra-driver-core</artifactId>
@@ -389,21 +387,16 @@
                 <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>
 
         <!--
@@ -411,9 +404,8 @@
         mvn versions:display-plugin-updates
         -->
         <pluginManagement>
-
             <plugins>
-
+                <!-- Maven plugins -->
                 <plugin>
                     <artifactId>maven-clean-plugin</artifactId>
                     <version>3.0.0</version>
@@ -429,16 +421,133 @@
                     <version>3.6</version>
                 </plugin>
 
+                <plugin>
+                    <artifactId>maven-gpg-plugin</artifactId>
+                    <version>1.6</version>
+                </plugin>
+
+                <plugin>
+                   <artifactId>maven-javadoc-plugin</artifactId>
+                    <version>3.2.0</version>
+                </plugin>
+
+                <plugin>
+                    <artifactId>maven-enforcer-plugin</artifactId>
+                    <version>1.4.1</version>
+                </plugin>
+
+                <plugin>
+                    <artifactId>maven-jar-plugin</artifactId>
+                    <version>3.0.2</version>
+                </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>
+                    <artifactId>maven-shade-plugin</artifactId>
+                    <version>3.0.0</version>
+                </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>
+                </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>
+                </plugin>
+
+                <!-- Third-party plugins -->
+                <plugin>
+                    <groupId>com.coveo</groupId>
+                    <artifactId>fmt-maven-plugin</artifactId>
+                    <version>2.9</version>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>clirr-maven-plugin</artifactId>
+                    <!-- Last version compatible with Java 6 -->
+                    <version>2.7</version>
+                </plugin>
+
+                <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.ops4j</groupId>
+                    <artifactId>maven-pax-plugin</artifactId>
+                    <version>1.6.0</version>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>maven-bundle-plugin</artifactId>
+                    <!-- last version compatible with Java 6 -->
+                    <version>2.5.4</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>
+            </plugins>
+        </pluginManagement>
+        <plugins>
+
+                <!-- Maven plugins -->
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-javadoc-plugin</artifactId>
+                    <configuration>
+                        <verbose>false</verbose>
+                        <quiet>true</quiet>
+                        <doclint>none</doclint>
+                    </configuration>
+                </plugin>
 
                 <plugin>
                     <artifactId>maven-enforcer-plugin</artifactId>
-                    <version>1.4.1</version>
+                    <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>
@@ -513,35 +622,6 @@
                     </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>
@@ -555,25 +635,88 @@
                 </plugin>
 
                 <plugin>
-                    <artifactId>maven-assembly-plugin</artifactId>
-                    <version>3.0.0</version>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <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-install-plugin</artifactId>
-                    <version>2.5.2</version>
+                    <artifactId>maven-failsafe-plugin</artifactId>
+                    <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>
 
+                <!-- Third-party plugins -->
                 <plugin>
-                    <artifactId>maven-deploy-plugin</artifactId>
-                    <version>2.8.2</version>
+                    <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>
 
                 <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>
@@ -604,12 +747,6 @@
                     </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>
@@ -679,91 +816,9 @@ limitations under the License.
                     </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>
@@ -776,57 +831,23 @@ limitations under the License.
                     </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>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>maven-bundle-plugin</artifactId>
+                    <extensions>true</extensions>
                     <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>
+                        <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.apache.maven.plugins</groupId>
                     <artifactId>maven-remote-resources-plugin</artifactId>
@@ -835,34 +856,10 @@ limitations under the License.
                         <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>
@@ -927,24 +924,6 @@ limitations under the License.
             <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>
@@ -976,37 +955,6 @@ limitations under the License.
                             </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>
-                    <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>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-javadoc-plugin</artifactId>
-                        <configuration combine.self="override">
-                            <doclint>none</doclint>
-                        </configuration>
-                    </plugin>
                 </plugins>
             </build>
         </profile>
@@ -1049,13 +997,6 @@ limitations under the License.
         </license>
     </licenses>
 
-    <scm>
-        
<connection>scm:git:[email protected]:datastax/java-driver.git</connection>
-        
<developerConnection>scm:git:[email protected]:datastax/java-driver.git</developerConnection>
-        <url>https://github.com/apache/cassandra-java-driver</url>
-        <tag>HEAD</tag>
-    </scm>
-
     <developers>
         <developer>
             <name>Various</name>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to