Skip to content

Commit ed48a0e

Browse files
authored
Merge pull request #48782 from gsmet/extension-processor-drop-legacy-config-classes
Remove legacy config classes support from extension annotation processor
2 parents 0994dee + 44efba0 commit ed48a0e

11 files changed

+167
-560
lines changed

core/processor/src/main/java/io/quarkus/annotation/processor/ExtensionAnnotationProcessor.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import javax.lang.model.element.Element;
1616
import javax.lang.model.element.ExecutableElement;
1717
import javax.lang.model.element.TypeElement;
18-
import javax.tools.Diagnostic;
1918
import javax.tools.Diagnostic.Kind;
2019

2120
import org.jboss.jdeparser.JDeparser;
@@ -54,12 +53,7 @@ public synchronized void init(ProcessingEnvironment processingEnv) {
5453

5554
ExtensionModule extensionModule = utils.extension().getExtensionModule();
5655

57-
Config config = new Config(extensionModule, useConfigMapping, debug);
58-
59-
if (!useConfigMapping) {
60-
processingEnv.getMessager().printMessage(Diagnostic.Kind.WARNING, "Extension module " + extensionModule.artifactId()
61-
+ " config implementation is deprecated. Please migrate to use @ConfigMapping: https://quarkus.io/guides/writing-extensions#configuration");
62-
}
56+
Config config = new Config(extensionModule, debug);
6357

6458
List<ExtensionProcessor> extensionProcessors = new ArrayList<>();
6559
extensionProcessors.add(new ExtensionBuildProcessor());

core/processor/src/main/java/io/quarkus/annotation/processor/documentation/config/model/Extension.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,6 @@ public boolean equals(Object obj) {
5555
return Objects.equals(artifactId, other.artifactId) && Objects.equals(groupId, other.groupId);
5656
}
5757

58-
// TODO #42114 remove once fixed
59-
@Deprecated(forRemoval = true)
60-
@JsonIgnore
61-
public boolean isMixedModule() {
62-
return "io.quarkus".equals(groupId) && ("quarkus-core".equals(artifactId) || "quarkus-vertx-http".equals(artifactId));
63-
}
64-
6558
@JsonIgnore
6659
public Extension normalizeCommonOrInternal() {
6760
if (!commonOrInternal()) {

core/processor/src/main/java/io/quarkus/annotation/processor/documentation/config/scanner/AbstractConfigListener.java

Lines changed: 0 additions & 113 deletions
This file was deleted.

core/processor/src/main/java/io/quarkus/annotation/processor/documentation/config/scanner/AbstractJavadocConfigListener.java

Lines changed: 0 additions & 87 deletions
This file was deleted.

core/processor/src/main/java/io/quarkus/annotation/processor/documentation/config/scanner/ConfigAnnotationScanner.java

Lines changed: 7 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -66,29 +66,9 @@ public ConfigAnnotationScanner(Config config, Utils utils) {
6666
List<ConfigAnnotationListener> configRootListeners = new ArrayList<>();
6767
List<ConfigAnnotationListener> configMappingWithoutConfigRootListeners = new ArrayList<>();
6868

69-
if (!config.getExtension().isMixedModule()) {
70-
// This is what we aim for. We have an exception for Quarkus Core and Quarkus Messaging though.
71-
if (config.useConfigMapping()) {
72-
configRootListeners.add(new JavadocConfigMappingListener(config, utils, configCollector));
73-
configRootListeners.add(new ConfigMappingListener(config, utils, configCollector));
74-
75-
configMappingWithoutConfigRootListeners.add(new JavadocConfigMappingListener(config, utils, configCollector));
76-
} else {
77-
configRootListeners.add(new JavadocLegacyConfigRootListener(config, utils, configCollector));
78-
configRootListeners.add(new LegacyConfigRootListener(config, utils, configCollector));
79-
}
80-
} else {
81-
// TODO #42114 remove once fixed
82-
// we handle both traditional config roots and config mappings
83-
if (config.getExtension().isMixedModule()) {
84-
configRootListeners.add(new JavadocConfigMappingListener(config, utils, configCollector));
85-
configRootListeners.add(new JavadocLegacyConfigRootListener(config, utils, configCollector));
86-
configRootListeners.add(new ConfigMappingListener(config, utils, configCollector));
87-
configRootListeners.add(new LegacyConfigRootListener(config, utils, configCollector));
88-
89-
configMappingWithoutConfigRootListeners.add(new JavadocConfigMappingListener(config, utils, configCollector));
90-
}
91-
}
69+
configRootListeners.add(new JavadocConfigMappingListener(config, utils, configCollector));
70+
configRootListeners.add(new ConfigMappingListener(config, utils, configCollector));
71+
configMappingWithoutConfigRootListeners.add(new JavadocConfigMappingListener(config, utils, configCollector));
9272

9373
this.configRootListeners = Collections.unmodifiableList(configRootListeners);
9474
this.configMappingWithoutConfigRootListeners = Collections.unmodifiableList(configMappingWithoutConfigRootListeners);
@@ -481,28 +461,10 @@ private <T extends DiscoveryRootElement> T applyRootListeners(
481461
}
482462

483463
private void checkConfigRootAnnotationConsistency(TypeElement configRoot) {
484-
// for now quarkus-core is a mix of both @ConfigRoot and @ConfigMapping
485-
// see https://github.com/quarkusio/quarkus/issues/42114
486-
// same for Quarkus Messaging
487-
// TODO #42114 remove once fixed
488-
if (config.getExtension().isMixedModule()) {
489-
return;
490-
}
491-
492-
if (config.useConfigMapping()) {
493-
if (!utils.element().isAnnotationPresent(configRoot, Types.ANNOTATION_CONFIG_MAPPING)) {
494-
throw new IllegalStateException(
495-
"This module is configured to use @ConfigMapping annotations but we found a @ConfigRoot without a corresponding @ConfigMapping annotation in: "
496-
+ configRoot + "."
497-
+ " Either add the annotation or add the -AlegacyConfigRoot=true argument to the annotation processor config in the pom.xml");
498-
}
499-
} else {
500-
if (utils.element().isAnnotationPresent(configRoot, Types.ANNOTATION_CONFIG_MAPPING)) {
501-
throw new IllegalStateException(
502-
"This module is configured to use legacy @ConfigRoot annotations but we found a @ConfigMapping annotation in: "
503-
+ configRoot + "."
504-
+ " Check the configuration of the annotation processor and drop the -AlegacyConfigRoot=true argument from the pom.xml if needed");
505-
}
464+
if (!utils.element().isAnnotationPresent(configRoot, Types.ANNOTATION_CONFIG_MAPPING)) {
465+
throw new IllegalStateException(
466+
"We found a @ConfigRoot without a corresponding @ConfigMapping annotation in: " + configRoot + "."
467+
+ " Make sure your configuration interfaces are annotated with @ConfigMapping.");
506468
}
507469
}
508470

0 commit comments

Comments
 (0)