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());
     }