Skip to content

Added shaded flag to PackageVersion #576

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Sep 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 2 additions & 6 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down Expand Up @@ -419,7 +416,7 @@ jobs:
- store_cache

deploy:
executor: 'j11'
executor: 'j17'
steps:
- timeout:
duration: '30m'
Expand All @@ -430,7 +427,7 @@ jobs:
- store_cache

release:
executor: 'j11'
executor: 'j17'
steps:
- timeout:
duration: '30m'
Expand Down Expand Up @@ -509,7 +506,6 @@ workflows:
matrix:
parameters:
jdk:
- 'j11'
- 'j17'
- 'j21'
filters:
Expand Down
12 changes: 11 additions & 1 deletion core/src/main/java/com/arangodb/PackageVersion.java.in
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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" +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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\"}]");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
21 changes: 11 additions & 10 deletions test-parent/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,17 @@
<adb.jackson.version>2.17.2</adb.jackson.version>
<sonar.skip>true</sonar.skip>
<maven.deploy.skip>true</maven.deploy.skip>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<shaded/>
</properties>

<dependencies>
<dependency>
<groupId>com.arangodb</groupId>
<artifactId>jackson-serde-vpack</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
Expand Down Expand Up @@ -103,6 +111,7 @@
<configuration>
<systemPropertyVariables>
<junit.platform.listeners.uid.tracking.enabled>true</junit.platform.listeners.uid.tracking.enabled>
<shaded>${shaded}</shaded>
</systemPropertyVariables>
<includes>
<include>**/*Test.java</include>
Expand Down Expand Up @@ -132,18 +141,14 @@

<properties>
<testSourceDirectory>src/test/java</testSourceDirectory>
<shaded>false</shaded>
</properties>
<dependencies>
<dependency>
<groupId>com.arangodb</groupId>
<artifactId>arangodb-java-driver</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.arangodb</groupId>
<artifactId>jackson-serde-vpack</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.arangodb</groupId>
<artifactId>vst-protocol</artifactId>
Expand All @@ -162,6 +167,7 @@

<properties>
<testSourceDirectory>${project.build.directory}/generated-test-sources/replacer</testSourceDirectory>
<shaded>true</shaded>
</properties>
<dependencies>
<dependency>
Expand All @@ -174,11 +180,6 @@
<artifactId>jackson-serde-json</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.arangodb</groupId>
<artifactId>jackson-serde-vpack</artifactId>
<scope>compile</scope>
</dependency>
</dependencies>

<build>
Expand Down
19 changes: 11 additions & 8 deletions test-resilience/src/test/java/resilience/vertx/VertxTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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))
Expand Down