fix!: Move from @ConfigRoot/@ConfigItem to @ConfigMapping.
The old way is deprecated.
BREAKING CHANGE: This makes GoogleCloudJsonLoggingConfiguration into
an interface (it was a class before) and its 'enabled' field into a
method.
Change-Id: I1a5db74e009ad5427ab7348ab6a6c34b970d4148
diff --git a/deployment/pom.xml b/deployment/pom.xml
index 209ce64..17b19fe 100644
--- a/deployment/pom.xml
+++ b/deployment/pom.xml
@@ -65,23 +65,6 @@
</path>
</annotationProcessorPaths>
</configuration>
- <executions>
- <execution>
- <id>default-compile</id>
- <configuration>
- <annotationProcessorPaths>
- <path>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-extension-processor</artifactId>
- <version>${quarkus.version}</version>
- </path>
- </annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
- </configuration>
- </execution>
- </executions>
</plugin>
</plugins>
</build>
diff --git a/runtime/pom.xml b/runtime/pom.xml
index 720f0d2..04a9e35 100644
--- a/runtime/pom.xml
+++ b/runtime/pom.xml
@@ -84,23 +84,6 @@
</path>
</annotationProcessorPaths>
</configuration>
- <executions>
- <execution>
- <id>default-compile</id>
- <configuration>
- <annotationProcessorPaths>
- <path>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-extension-processor</artifactId>
- <version>${quarkus.version}</version>
- </path>
- </annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
- </configuration>
- </execution>
- </executions>
</plugin>
<plugin>
diff --git a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/GoogleCloudJsonLoggingConfiguration.java b/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/GoogleCloudJsonLoggingConfiguration.java
index 21a4ca9..72d1cfa 100644
--- a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/GoogleCloudJsonLoggingConfiguration.java
+++ b/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/GoogleCloudJsonLoggingConfiguration.java
@@ -4,19 +4,24 @@
package eu.mulk.quarkus.googlecloud.jsonlogging.runtime;
-import io.quarkus.runtime.annotations.ConfigItem;
-import io.quarkus.runtime.annotations.ConfigPhase;
+import static io.quarkus.runtime.annotations.ConfigPhase.RUN_TIME;
+
import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
+import io.smallrye.config.WithDefault;
+import io.smallrye.config.WithParentName;
/** Configuration for console logging in Google Cloud Logging JSON format. */
-@ConfigRoot(prefix = "quarkus.log.console", name = "google", phase = ConfigPhase.RUN_TIME)
-public class GoogleCloudJsonLoggingConfiguration {
+@ConfigMapping(prefix = "quarkus.log.console.google")
+@ConfigRoot(phase = RUN_TIME)
+public interface GoogleCloudJsonLoggingConfiguration {
/**
* Whether to enable Google Cloud Logging JSON logging to <code>stdout</code>/<code>stderr</code>.
*
* <p>Replaces the regular plain-text format for console logs.
*/
- @ConfigItem(defaultValue = "true", name = ConfigItem.PARENT)
- public boolean enabled;
+ @WithDefault("true")
+ @WithParentName
+ boolean enabled();
}
diff --git a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/GoogleCloudJsonLoggingRecorder.java b/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/GoogleCloudJsonLoggingRecorder.java
index af09231..74b63c6 100644
--- a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/GoogleCloudJsonLoggingRecorder.java
+++ b/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/GoogleCloudJsonLoggingRecorder.java
@@ -28,7 +28,7 @@
*/
public RuntimeValue<Optional<java.util.logging.Formatter>> initialize(
GoogleCloudJsonLoggingConfiguration configuration) {
- if (!configuration.enabled) {
+ if (!configuration.enabled()) {
return new RuntimeValue<>(Optional.empty());
}