Skip to content

Commit c18fdf3

Browse files
tms0gastaldi
authored andcommitted
Make quarkus-jsonb and quarkus-jackson optionals
1 parent 283d20a commit c18fdf3

File tree

7 files changed

+35
-33
lines changed

7 files changed

+35
-33
lines changed

deployment/pom.xml

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,7 @@
1818
</dependency>
1919
<dependency>
2020
<groupId>io.quarkus</groupId>
21-
<artifactId>quarkus-jackson-deployment</artifactId>
22-
<scope>compile</scope>
23-
</dependency>
24-
<dependency>
25-
<groupId>io.quarkus</groupId>
26-
<artifactId>quarkus-jsonb-deployment</artifactId>
27-
<scope>compile</scope>
21+
<artifactId>quarkus-arc-deployment</artifactId>
2822
</dependency>
2923
<dependency>
3024
<groupId>io.quarkiverse.loggingjson</groupId>
@@ -42,6 +36,17 @@
4236
<artifactId>quarkus-junit5-internal</artifactId>
4337
<scope>test</scope>
4438
</dependency>
39+
<dependency>
40+
<groupId>io.quarkus</groupId>
41+
<artifactId>quarkus-jackson</artifactId>
42+
<scope>test</scope>
43+
</dependency>
44+
<dependency>
45+
<groupId>io.quarkus</groupId>
46+
<artifactId>quarkus-jsonb</artifactId>
47+
<scope>test</scope>
48+
</dependency>
49+
4550
</dependencies>
4651

4752
<build>

deployment/src/main/java/io/quarkiverse/loggingjson/deployment/LoggingJsonProcessor.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@
44

55
import org.jboss.jandex.ClassInfo;
66

7+
import io.quarkiverse.loggingjson.JsonFactory;
78
import io.quarkiverse.loggingjson.LoggingJsonRecorder;
89
import io.quarkiverse.loggingjson.config.Config;
10+
import io.quarkiverse.loggingjson.jackson.JacksonJsonFactory;
11+
import io.quarkiverse.loggingjson.jsonb.JsonbJsonFactory;
912
import io.quarkus.arc.deployment.AdditionalBeanBuildItem;
1013
import io.quarkus.deployment.Capabilities;
1114
import io.quarkus.deployment.Capability;
@@ -31,21 +34,21 @@ FeatureBuildItem feature() {
3134
@Record(ExecutionTime.RUNTIME_INIT)
3235
LogConsoleFormatBuildItem setUpConsoleFormatter(Capabilities capabilities, LoggingJsonRecorder recorder,
3336
Config config) {
34-
return new LogConsoleFormatBuildItem(recorder.initializeConsoleJsonLogging(config, useJackson(capabilities)));
37+
return new LogConsoleFormatBuildItem(recorder.initializeConsoleJsonLogging(config, jsonFactory(capabilities)));
3538
}
3639

3740
@BuildStep
3841
@Record(ExecutionTime.RUNTIME_INIT)
3942
LogFileFormatBuildItem setUpFileFormatter(Capabilities capabilities, LoggingJsonRecorder recorder,
4043
Config config) {
41-
return new LogFileFormatBuildItem(recorder.initializeFileJsonLogging(config, useJackson(capabilities)));
44+
return new LogFileFormatBuildItem(recorder.initializeFileJsonLogging(config, jsonFactory(capabilities)));
4245
}
4346

44-
private boolean useJackson(Capabilities capabilities) {
47+
private JsonFactory jsonFactory(Capabilities capabilities) {
4548
if (capabilities.isPresent(Capability.JACKSON)) {
46-
return true;
49+
return new JacksonJsonFactory();
4750
} else if (capabilities.isPresent(Capability.JSONB)) {
48-
return false;
51+
return new JsonbJsonFactory();
4952
} else {
5053
throw new RuntimeException(
5154
"Missing json implementation to use for logging-json. Supported: [quarkus-jackson, quarkus-jsonb]");

deployment/src/test/java/io/quarkiverse/loggingjson/deployment/JsonDefaultFormatterJacksonTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class JsonDefaultFormatterJacksonTest extends JsonDefaultFormatterBaseTest {
1616
static final QuarkusUnitTest config = new QuarkusUnitTest()
1717
.setArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class))
1818
.setForcedDependencies(Collections.singletonList(
19-
new AppArtifact("io.quarkus", "quarkus-jackson-deployment", System.getProperty("test.quarkus.version"))))
19+
new AppArtifact("io.quarkus", "quarkus-jackson", System.getProperty("test.quarkus.version"))))
2020
.withConfigurationResource("application-json.properties");
2121

2222
@Test

deployment/src/test/java/io/quarkiverse/loggingjson/deployment/JsonDefaultFormatterJsonbTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class JsonDefaultFormatterJsonbTest extends JsonDefaultFormatterBaseTest {
1616
static final QuarkusUnitTest config = new QuarkusUnitTest()
1717
.setArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class))
1818
.setForcedDependencies(Collections.singletonList(
19-
new AppArtifact("io.quarkus", "quarkus-jsonb-deployment", System.getProperty("test.quarkus.version"))))
19+
new AppArtifact("io.quarkus", "quarkus-jsonb", System.getProperty("test.quarkus.version"))))
2020
.withConfigurationResource("application-json.properties");
2121

2222
@Test

docs/pom.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@
1515
<!-- Make sure the doc is built after the other artifacts -->
1616
<dependency>
1717
<groupId>io.quarkiverse.loggingjson</groupId>
18-
<artifactId>quarkus-logging-json-deployment</artifactId>
18+
<artifactId>quarkus-logging-json-integration-tests</artifactId>
1919
<version>${project.version}</version>
20+
<optional>true</optional>
2021
</dependency>
2122
</dependencies>
2223

runtime/pom.xml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,19 @@
1616
<groupId>io.quarkus</groupId>
1717
<artifactId>quarkus-core</artifactId>
1818
</dependency>
19+
<dependency>
20+
<groupId>io.quarkus</groupId>
21+
<artifactId>quarkus-arc</artifactId>
22+
</dependency>
1923
<dependency>
2024
<groupId>io.quarkus</groupId>
2125
<artifactId>quarkus-jackson</artifactId>
22-
<scope>compile</scope>
26+
<optional>true</optional>
2327
</dependency>
2428
<dependency>
2529
<groupId>io.quarkus</groupId>
2630
<artifactId>quarkus-jsonb</artifactId>
27-
<scope>compile</scope>
31+
<optional>true</optional>
2832
</dependency>
2933

3034
<dependency>

runtime/src/main/java/io/quarkiverse/loggingjson/LoggingJsonRecorder.java

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111

1212
import io.quarkiverse.loggingjson.config.Config;
1313
import io.quarkiverse.loggingjson.config.ConfigFormatter;
14-
import io.quarkiverse.loggingjson.jackson.JacksonJsonFactory;
15-
import io.quarkiverse.loggingjson.jsonb.JsonbJsonFactory;
1614
import io.quarkiverse.loggingjson.providers.*;
1715
import io.quarkus.arc.Arc;
1816
import io.quarkus.arc.InjectableInstance;
@@ -24,17 +22,17 @@ public class LoggingJsonRecorder {
2422
private static final Logger log = LoggerFactory.getLogger(LoggingJsonRecorder.class);
2523

2624
public RuntimeValue<Optional<Formatter>> initializeConsoleJsonLogging(Config config,
27-
boolean useJackson) {
28-
return initializeJsonLogging(config.console, config, useJackson);
25+
JsonFactory jsonFactory) {
26+
return initializeJsonLogging(config.console, config, jsonFactory);
2927
}
3028

3129
public RuntimeValue<Optional<Formatter>> initializeFileJsonLogging(Config config,
32-
boolean useJackson) {
33-
return initializeJsonLogging(config.file, config, useJackson);
30+
JsonFactory jsonFactory) {
31+
return initializeJsonLogging(config.file, config, jsonFactory);
3432
}
3533

3634
public RuntimeValue<Optional<Formatter>> initializeJsonLogging(ConfigFormatter formatter, Config config,
37-
boolean useJackson) {
35+
JsonFactory jsonFactory) {
3836
if (formatter == null || !formatter.isEnabled()) {
3937
return new RuntimeValue<>(Optional.empty());
4038
}
@@ -64,15 +62,6 @@ public RuntimeValue<Optional<Formatter>> initializeJsonLogging(ConfigFormatter f
6462
log.debug("Installed json providers {}", installedProviders);
6563
}
6664

67-
JsonFactory jsonFactory;
68-
if (useJackson) {
69-
log.debug("Using Jackson as the json implementation");
70-
jsonFactory = new JacksonJsonFactory();
71-
} else {
72-
log.debug("Using Jsonb as the json implementation");
73-
jsonFactory = new JsonbJsonFactory();
74-
}
75-
7665
return new RuntimeValue<>(Optional.of(new JsonFormatter(providers, jsonFactory, config)));
7766

7867
}

0 commit comments

Comments
 (0)