diff --git a/core-shaded/pom.xml b/core-shaded/pom.xml index bf49e92d36d..a88b6987392 100644 --- a/core-shaded/pom.xml +++ b/core-shaded/pom.xml @@ -146,9 +146,6 @@ --> com.datastax.oss:java-driver-core io.netty:* - com.esri.geometry:* - org.json:* - org.codehaus.jackson:* com.fasterxml.jackson.core:* @@ -161,18 +158,6 @@ io.netty com.datastax.oss.driver.shaded.netty - - com.esri - com.datastax.oss.driver.shaded.esri - - - org.json - com.datastax.oss.driver.shaded.json - - - org.codehaus.jackson - com.datastax.oss.driver.shaded.codehaus.jackson - com.fasterxml.jackson com.datastax.oss.driver.shaded.fasterxml.jackson @@ -194,24 +179,6 @@ META-INF/** - - com.esri.geometry:* - - META-INF/** - - - - org.json:* - - META-INF/** - - - - org.codehaus.jackson:* - - META-INF/** - - com.fasterxml.jackson.core:* @@ -311,6 +278,11 @@ jctools-core 2.1.2 + + com.esri.geometry + esri-geometry-api + 1.2.1 + @@ -340,7 +312,7 @@ !com.datastax.oss.driver.shaded.netty.*, !com.datastax.oss.driver.shaded.esri.*, !com.datastax.oss.driver.shaded.json.*, !com.datastax.oss.driver.shaded.codehaus.jackson.*, !com.datastax.oss.driver.shaded.fasterxml.jackson.*, + -->!com.datastax.oss.driver.shaded.netty.*, !com.datastax.oss.driver.shaded.fasterxml.jackson.*, - com.datastax.oss.driver.api.core.*, com.datastax.oss.driver.internal.core.*, com.datastax.dse.driver.api.core.*, com.datastax.dse.driver.internal.core.*, com.datastax.oss.driver.shaded.netty.*, com.datastax.oss.driver.shaded.esri.*, com.datastax.oss.driver.shaded.json.*, com.datastax.oss.driver.shaded.codehaus.jackson.*, com.datastax.oss.driver.shaded.fasterxml.jackson.*, + com.datastax.oss.driver.api.core.*, com.datastax.oss.driver.internal.core.*, com.datastax.dse.driver.api.core.*, com.datastax.dse.driver.internal.core.*, com.datastax.oss.driver.shaded.netty.*, com.datastax.oss.driver.shaded.fasterxml.jackson.*, true diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 20fd13ea85d..96e682bd087 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -211,6 +211,11 @@ blockhound-junit-platform test + + com.esri.geometry + esri-geometry-api + test + diff --git a/manual/core/integration/README.md b/manual/core/integration/README.md index 23380063cdf..7202dac2d94 100644 --- a/manual/core/integration/README.md +++ b/manual/core/integration/README.md @@ -479,8 +479,9 @@ don't use any of the above features, you can safely exclude the dependency: Our [geospatial types](../dse/geotypes/) implementation is based on the [Esri Geometry API](https://github.com/Esri/geometry-api-java). -Esri is declared as a required dependency, but the driver can operate normally without it. If you -don't use geospatial types anywhere in your application, you can exclude the dependency: +For driver versions >= 4.4.0 and < 4.14.0 Esri is declared as a required dependency, +although the driver can operate normally without it. If you don't use geospatial types +anywhere in your application you can exclude the dependency: ```xml @@ -496,6 +497,22 @@ don't use geospatial types anywhere in your application, you can exclude the dep ``` +Starting with driver 4.14.0 Esri has been changed to an optional dependency. You no longer have to +explicitly exclude the dependency if it's not used, but if you do wish to make use of the Esri +library you must now explicitly specify it as a dependency : + +```xml + + com.esri.geometry + esri-geometry-api + ${esri.version} + +``` + +In the dependency specification above you should use any 1.2.x version of Esri (we recommend +1.2.1). These versions are older than the current 2.x versions of the library but they are +guaranteed to be fully compatible with DSE. + #### TinkerPop [Apache TinkerPop™](http://tinkerpop.apache.org/) is used in our [graph API](../dse/graph/), diff --git a/upgrade_guide/README.md b/upgrade_guide/README.md index e48a75ceb4e..297c4ca7fda 100644 --- a/upgrade_guide/README.md +++ b/upgrade_guide/README.md @@ -9,6 +9,26 @@ request cannot be executed because all nodes tried were busy. Previously you wou `NoNodeAvailableException` but you will now get back an `AllNodesFailedException` where the `getAllErrors` map contains a `NodeUnavailableException` for that node. +#### Esri Geometry dependency now optional + +Previous versions of the Java driver defined a mandatory dependency on the Esri geometry library. +This library offered support for primitive geometric types supported by DSE. As of driver 4.14.0 +this dependency is now optional. + +If you do not use DSE (or if you do but do not use the support for geometric types within DSE) you +should experience no disruption. If you are using geometric types with DSE you'll now need to +explicitly declare a dependency on the Esri library: + +```xml + + com.esri.geometry + esri-geometry-api + ${esri.version} + +``` + +See the [integration](../manual/core/integration/#esri) section in the manual for more details. + ### 4.13.0 #### Enhanced support for GraalVM native images