diff --git a/.circleci/config.yml b/.circleci/config.yml
index a3d0c0fd6..e079c8908 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -118,9 +118,6 @@ commands:
MAVEN_OPTS: "--add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED"
executors:
- j11:
- docker:
- - image: 'cimg/openjdk:11.0'
j17:
docker:
- image: 'cimg/openjdk:17.0'
@@ -419,7 +416,7 @@ jobs:
- store_cache
deploy:
- executor: 'j11'
+ executor: 'j17'
steps:
- timeout:
duration: '30m'
@@ -430,7 +427,7 @@ jobs:
- store_cache
release:
- executor: 'j11'
+ executor: 'j17'
steps:
- timeout:
duration: '30m'
@@ -509,7 +506,6 @@ workflows:
matrix:
parameters:
jdk:
- - 'j11'
- 'j17'
- 'j21'
filters:
diff --git a/core/src/main/java/com/arangodb/PackageVersion.java.in b/core/src/main/java/com/arangodb/PackageVersion.java.in
index e801e4d89..47991a195 100644
--- a/core/src/main/java/com/arangodb/PackageVersion.java.in
+++ b/core/src/main/java/com/arangodb/PackageVersion.java.in
@@ -4,5 +4,15 @@ package com.arangodb;
* Automatically generated from PackageVersion.java.in by replacer plugin.
*/
public final class PackageVersion {
- public final static String VERSION = "@project.version@";
+ public final static boolean SHADED = isShaded();
+ public final static String VERSION = "@project.version@" + (isShaded() ? "-shaded" : "");
+
+ private static boolean isShaded() {
+ try {
+ Class.forName("com.arangodb.shaded.fasterxml.jackson.core.JsonFactory");
+ return true;
+ } catch (ClassNotFoundException e) {
+ return false;
+ }
+ }
}
diff --git a/http-protocol/src/main/java/com/arangodb/http/HttpConnectionFactory.java b/http-protocol/src/main/java/com/arangodb/http/HttpConnectionFactory.java
index 03719882a..edde3da19 100644
--- a/http-protocol/src/main/java/com/arangodb/http/HttpConnectionFactory.java
+++ b/http-protocol/src/main/java/com/arangodb/http/HttpConnectionFactory.java
@@ -20,6 +20,7 @@
package com.arangodb.http;
+import com.arangodb.PackageVersion;
import com.arangodb.arch.UnstableApi;
import com.arangodb.config.HostDescription;
import com.arangodb.internal.config.ArangoConfig;
@@ -38,7 +39,7 @@ public class HttpConnectionFactory implements ConnectionFactory {
public HttpConnectionFactory(@UnstableApi final HttpProtocolConfig config) {
HttpProtocolConfig cfg = config != null ? config : HttpProtocolConfig.builder().build();
vertx = cfg.getVertx();
- if (vertx == null && Vertx.currentContext() != null) {
+ if (vertx == null && !PackageVersion.SHADED && Vertx.currentContext() != null) {
LOGGER.warn("Found an existing Vert.x instance, you can reuse it by setting:\n" +
"new ArangoDB.Builder()\n" +
" // ...\n" +
diff --git a/test-functional/src/test/java/com/arangodb/ArangoCollectionAsyncTest.java b/test-functional/src/test/java/com/arangodb/ArangoCollectionAsyncTest.java
index 6ac2e6409..866dfe5e4 100644
--- a/test-functional/src/test/java/com/arangodb/ArangoCollectionAsyncTest.java
+++ b/test-functional/src/test/java/com/arangodb/ArangoCollectionAsyncTest.java
@@ -3202,7 +3202,7 @@ void updateDocumentsJson(ArangoCollectionAsync collection) throws ExecutionExcep
@MethodSource("asyncCols")
void updateDocumentsRawData(ArangoCollectionAsync collection) throws ExecutionException, InterruptedException {
final RawData values = RawJson.of("[{\"_key\":\"1\"}, {\"_key\":\"2\"}]");
- collection.insertDocuments(values);
+ collection.insertDocuments(values).get();
final RawData updatedValues = RawJson.of("[{\"_key\":\"1\", \"foo\":\"bar\"}, {\"_key\":\"2\", " +
"\"foo\":\"bar\"}]");
diff --git a/test-functional/src/test/java/com/arangodb/UserAgentAsyncTest.java b/test-functional/src/test/java/com/arangodb/UserAgentAsyncTest.java
index 57e10ebe4..a1059b86c 100644
--- a/test-functional/src/test/java/com/arangodb/UserAgentAsyncTest.java
+++ b/test-functional/src/test/java/com/arangodb/UserAgentAsyncTest.java
@@ -11,14 +11,6 @@
import static org.junit.jupiter.api.Assumptions.assumeTrue;
class UserAgentAsyncTest extends BaseJunit5 {
-
- private static final String EXPECTED_VERSION = "7.9.0-SNAPSHOT";
-
- @Test
- void packageVersion() {
- assertThat(PackageVersion.VERSION).isEqualTo(EXPECTED_VERSION);
- }
-
@ParameterizedTest
@EnumSource(Protocol.class)
void userAgentHeader(Protocol protocol) throws ExecutionException, InterruptedException {
diff --git a/test-functional/src/test/java/com/arangodb/UserAgentTest.java b/test-functional/src/test/java/com/arangodb/UserAgentTest.java
index 48bcdbfd5..3c1848a3a 100644
--- a/test-functional/src/test/java/com/arangodb/UserAgentTest.java
+++ b/test-functional/src/test/java/com/arangodb/UserAgentTest.java
@@ -12,9 +12,16 @@ class UserAgentTest extends BaseJunit5 {
private static final String EXPECTED_VERSION = "7.9.0-SNAPSHOT";
+ private static final boolean SHADED = Boolean.parseBoolean(System.getProperty("shaded"));
+
@Test
void packageVersion() {
- assertThat(PackageVersion.VERSION).isEqualTo(EXPECTED_VERSION);
+ assertThat(PackageVersion.VERSION).isEqualTo(EXPECTED_VERSION + (SHADED ? "-shaded" : ""));
+ }
+
+ @Test
+ void packageVersionIsShaded() {
+ assertThat(PackageVersion.SHADED).isEqualTo(SHADED);
}
@ParameterizedTest
diff --git a/test-parent/pom.xml b/test-parent/pom.xml
index d267d4357..1ffb7e910 100644
--- a/test-parent/pom.xml
+++ b/test-parent/pom.xml
@@ -18,9 +18,17 @@
2.17.2
true
true
+ 17
+ 17
+
+
+ com.arangodb
+ jackson-serde-vpack
+ compile
+
org.slf4j
slf4j-simple
@@ -103,6 +111,7 @@
true
+ ${shaded}
**/*Test.java
@@ -132,6 +141,7 @@
src/test/java
+ false
@@ -139,11 +149,6 @@
arangodb-java-driver
compile
-
- com.arangodb
- jackson-serde-vpack
- compile
-
com.arangodb
vst-protocol
@@ -162,6 +167,7 @@
${project.build.directory}/generated-test-sources/replacer
+ true
@@ -174,11 +180,6 @@
jackson-serde-json
compile
-
- com.arangodb
- jackson-serde-vpack
- compile
-
diff --git a/test-resilience/src/test/java/resilience/vertx/VertxTest.java b/test-resilience/src/test/java/resilience/vertx/VertxTest.java
index 7ffce384e..5e3342b09 100644
--- a/test-resilience/src/test/java/resilience/vertx/VertxTest.java
+++ b/test-resilience/src/test/java/resilience/vertx/VertxTest.java
@@ -3,6 +3,7 @@
import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.spi.ILoggingEvent;
import com.arangodb.ArangoDB;
+import com.arangodb.PackageVersion;
import com.arangodb.http.HttpConnection;
import com.arangodb.http.HttpProtocolConfig;
import io.vertx.core.Vertx;
@@ -93,14 +94,16 @@ void existingVertxNotUsed() throws ExecutionException, InterruptedException {
}).toCompletionStage().toCompletableFuture().get();
vertx.close();
- assertThat(logs.getLogs())
- .filteredOn(it -> it.getLoggerName().equals("com.arangodb.http.HttpConnectionFactory"))
- .filteredOn(it -> it.getLevel().equals(Level.WARN))
- .map(ILoggingEvent::getFormattedMessage)
- .anySatisfy(it -> assertThat(it)
- .contains("Found an existing Vert.x instance, you can reuse it by setting:")
- .contains(".protocolConfig(HttpProtocolConfig.builder().vertx(Vertx.currentContext().owner()).build())")
- );
+ if (!PackageVersion.SHADED) {
+ assertThat(logs.getLogs())
+ .filteredOn(it -> it.getLoggerName().equals("com.arangodb.http.HttpConnectionFactory"))
+ .filteredOn(it -> it.getLevel().equals(Level.WARN))
+ .map(ILoggingEvent::getFormattedMessage)
+ .anySatisfy(it -> assertThat(it)
+ .contains("Found an existing Vert.x instance, you can reuse it by setting:")
+ .contains(".protocolConfig(HttpProtocolConfig.builder().vertx(Vertx.currentContext().owner()).build())")
+ );
+ }
assertThat(logs.getLogs())
.filteredOn(it -> it.getLoggerName().equals("com.arangodb.http.HttpConnection"))
.filteredOn(it -> it.getLevel().equals(Level.DEBUG))