Skip to content

Commit 968084b

Browse files
authored
Added shaded flag to PackageVersion (#576)
* added shaded flag to PackageVersion * CI: raised minimum Java version for tests to 17 * test fixes
1 parent de1b205 commit 968084b

File tree

8 files changed

+46
-36
lines changed

8 files changed

+46
-36
lines changed

Diff for: .circleci/config.yml

+2-6
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,6 @@ commands:
118118
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"
119119

120120
executors:
121-
j11:
122-
docker:
123-
- image: 'cimg/openjdk:11.0'
124121
j17:
125122
docker:
126123
- image: 'cimg/openjdk:17.0'
@@ -419,7 +416,7 @@ jobs:
419416
- store_cache
420417

421418
deploy:
422-
executor: 'j11'
419+
executor: 'j17'
423420
steps:
424421
- timeout:
425422
duration: '30m'
@@ -430,7 +427,7 @@ jobs:
430427
- store_cache
431428

432429
release:
433-
executor: 'j11'
430+
executor: 'j17'
434431
steps:
435432
- timeout:
436433
duration: '30m'
@@ -509,7 +506,6 @@ workflows:
509506
matrix:
510507
parameters:
511508
jdk:
512-
- 'j11'
513509
- 'j17'
514510
- 'j21'
515511
filters:

Diff for: core/src/main/java/com/arangodb/PackageVersion.java.in

+11-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,15 @@ package com.arangodb;
44
* Automatically generated from PackageVersion.java.in by replacer plugin.
55
*/
66
public final class PackageVersion {
7-
public final static String VERSION = "@project.version@";
7+
public final static boolean SHADED = isShaded();
8+
public final static String VERSION = "@project.version@" + (isShaded() ? "-shaded" : "");
9+
10+
private static boolean isShaded() {
11+
try {
12+
Class.forName("com.arangodb.shaded.fasterxml.jackson.core.JsonFactory");
13+
return true;
14+
} catch (ClassNotFoundException e) {
15+
return false;
16+
}
17+
}
818
}

Diff for: http-protocol/src/main/java/com/arangodb/http/HttpConnectionFactory.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
package com.arangodb.http;
2222

23+
import com.arangodb.PackageVersion;
2324
import com.arangodb.arch.UnstableApi;
2425
import com.arangodb.config.HostDescription;
2526
import com.arangodb.internal.config.ArangoConfig;
@@ -38,7 +39,7 @@ public class HttpConnectionFactory implements ConnectionFactory {
3839
public HttpConnectionFactory(@UnstableApi final HttpProtocolConfig config) {
3940
HttpProtocolConfig cfg = config != null ? config : HttpProtocolConfig.builder().build();
4041
vertx = cfg.getVertx();
41-
if (vertx == null && Vertx.currentContext() != null) {
42+
if (vertx == null && !PackageVersion.SHADED && Vertx.currentContext() != null) {
4243
LOGGER.warn("Found an existing Vert.x instance, you can reuse it by setting:\n" +
4344
"new ArangoDB.Builder()\n" +
4445
" // ...\n" +

Diff for: test-functional/src/test/java/com/arangodb/ArangoCollectionAsyncTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -3202,7 +3202,7 @@ void updateDocumentsJson(ArangoCollectionAsync collection) throws ExecutionExcep
32023202
@MethodSource("asyncCols")
32033203
void updateDocumentsRawData(ArangoCollectionAsync collection) throws ExecutionException, InterruptedException {
32043204
final RawData values = RawJson.of("[{\"_key\":\"1\"}, {\"_key\":\"2\"}]");
3205-
collection.insertDocuments(values);
3205+
collection.insertDocuments(values).get();
32063206

32073207
final RawData updatedValues = RawJson.of("[{\"_key\":\"1\", \"foo\":\"bar\"}, {\"_key\":\"2\", " +
32083208
"\"foo\":\"bar\"}]");

Diff for: test-functional/src/test/java/com/arangodb/UserAgentAsyncTest.java

-8
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,6 @@
1111
import static org.junit.jupiter.api.Assumptions.assumeTrue;
1212

1313
class UserAgentAsyncTest extends BaseJunit5 {
14-
15-
private static final String EXPECTED_VERSION = "7.9.0-SNAPSHOT";
16-
17-
@Test
18-
void packageVersion() {
19-
assertThat(PackageVersion.VERSION).isEqualTo(EXPECTED_VERSION);
20-
}
21-
2214
@ParameterizedTest
2315
@EnumSource(Protocol.class)
2416
void userAgentHeader(Protocol protocol) throws ExecutionException, InterruptedException {

Diff for: test-functional/src/test/java/com/arangodb/UserAgentTest.java

+8-1
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,16 @@ class UserAgentTest extends BaseJunit5 {
1212

1313
private static final String EXPECTED_VERSION = "7.9.0-SNAPSHOT";
1414

15+
private static final boolean SHADED = Boolean.parseBoolean(System.getProperty("shaded"));
16+
1517
@Test
1618
void packageVersion() {
17-
assertThat(PackageVersion.VERSION).isEqualTo(EXPECTED_VERSION);
19+
assertThat(PackageVersion.VERSION).isEqualTo(EXPECTED_VERSION + (SHADED ? "-shaded" : ""));
20+
}
21+
22+
@Test
23+
void packageVersionIsShaded() {
24+
assertThat(PackageVersion.SHADED).isEqualTo(SHADED);
1825
}
1926

2027
@ParameterizedTest

Diff for: test-parent/pom.xml

+11-10
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,17 @@
1818
<adb.jackson.version>2.17.2</adb.jackson.version>
1919
<sonar.skip>true</sonar.skip>
2020
<maven.deploy.skip>true</maven.deploy.skip>
21+
<maven.compiler.source>17</maven.compiler.source>
22+
<maven.compiler.target>17</maven.compiler.target>
23+
<shaded/>
2124
</properties>
2225

2326
<dependencies>
27+
<dependency>
28+
<groupId>com.arangodb</groupId>
29+
<artifactId>jackson-serde-vpack</artifactId>
30+
<scope>compile</scope>
31+
</dependency>
2432
<dependency>
2533
<groupId>org.slf4j</groupId>
2634
<artifactId>slf4j-simple</artifactId>
@@ -103,6 +111,7 @@
103111
<configuration>
104112
<systemPropertyVariables>
105113
<junit.platform.listeners.uid.tracking.enabled>true</junit.platform.listeners.uid.tracking.enabled>
114+
<shaded>${shaded}</shaded>
106115
</systemPropertyVariables>
107116
<includes>
108117
<include>**/*Test.java</include>
@@ -132,18 +141,14 @@
132141

133142
<properties>
134143
<testSourceDirectory>src/test/java</testSourceDirectory>
144+
<shaded>false</shaded>
135145
</properties>
136146
<dependencies>
137147
<dependency>
138148
<groupId>com.arangodb</groupId>
139149
<artifactId>arangodb-java-driver</artifactId>
140150
<scope>compile</scope>
141151
</dependency>
142-
<dependency>
143-
<groupId>com.arangodb</groupId>
144-
<artifactId>jackson-serde-vpack</artifactId>
145-
<scope>compile</scope>
146-
</dependency>
147152
<dependency>
148153
<groupId>com.arangodb</groupId>
149154
<artifactId>vst-protocol</artifactId>
@@ -162,6 +167,7 @@
162167

163168
<properties>
164169
<testSourceDirectory>${project.build.directory}/generated-test-sources/replacer</testSourceDirectory>
170+
<shaded>true</shaded>
165171
</properties>
166172
<dependencies>
167173
<dependency>
@@ -174,11 +180,6 @@
174180
<artifactId>jackson-serde-json</artifactId>
175181
<scope>compile</scope>
176182
</dependency>
177-
<dependency>
178-
<groupId>com.arangodb</groupId>
179-
<artifactId>jackson-serde-vpack</artifactId>
180-
<scope>compile</scope>
181-
</dependency>
182183
</dependencies>
183184

184185
<build>

Diff for: test-resilience/src/test/java/resilience/vertx/VertxTest.java

+11-8
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import ch.qos.logback.classic.Level;
44
import ch.qos.logback.classic.spi.ILoggingEvent;
55
import com.arangodb.ArangoDB;
6+
import com.arangodb.PackageVersion;
67
import com.arangodb.http.HttpConnection;
78
import com.arangodb.http.HttpProtocolConfig;
89
import io.vertx.core.Vertx;
@@ -93,14 +94,16 @@ void existingVertxNotUsed() throws ExecutionException, InterruptedException {
9394
}).toCompletionStage().toCompletableFuture().get();
9495
vertx.close();
9596

96-
assertThat(logs.getLogs())
97-
.filteredOn(it -> it.getLoggerName().equals("com.arangodb.http.HttpConnectionFactory"))
98-
.filteredOn(it -> it.getLevel().equals(Level.WARN))
99-
.map(ILoggingEvent::getFormattedMessage)
100-
.anySatisfy(it -> assertThat(it)
101-
.contains("Found an existing Vert.x instance, you can reuse it by setting:")
102-
.contains(".protocolConfig(HttpProtocolConfig.builder().vertx(Vertx.currentContext().owner()).build())")
103-
);
97+
if (!PackageVersion.SHADED) {
98+
assertThat(logs.getLogs())
99+
.filteredOn(it -> it.getLoggerName().equals("com.arangodb.http.HttpConnectionFactory"))
100+
.filteredOn(it -> it.getLevel().equals(Level.WARN))
101+
.map(ILoggingEvent::getFormattedMessage)
102+
.anySatisfy(it -> assertThat(it)
103+
.contains("Found an existing Vert.x instance, you can reuse it by setting:")
104+
.contains(".protocolConfig(HttpProtocolConfig.builder().vertx(Vertx.currentContext().owner()).build())")
105+
);
106+
}
104107
assertThat(logs.getLogs())
105108
.filteredOn(it -> it.getLoggerName().equals("com.arangodb.http.HttpConnection"))
106109
.filteredOn(it -> it.getLevel().equals(Level.DEBUG))

0 commit comments

Comments
 (0)