Skip to content

Commit 2d0315e

Browse files
committed
Drop @configroot config implementation
1 parent ab90e24 commit 2d0315e

File tree

88 files changed

+244
-6000
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+244
-6000
lines changed

core/deployment/src/main/java/io/quarkus/deployment/AccessorFinder.java

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

core/deployment/src/main/java/io/quarkus/deployment/BooleanSupplierFactoryBuildItem.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,23 @@
1313
import java.util.function.Consumer;
1414
import java.util.function.Supplier;
1515

16+
import org.eclipse.microprofile.config.ConfigProvider;
17+
1618
import io.quarkus.builder.item.SimpleBuildItem;
17-
import io.quarkus.deployment.configuration.BuildTimeConfigurationReader;
1819
import io.quarkus.deployment.util.ReflectUtil;
1920
import io.quarkus.dev.spi.DevModeType;
2021
import io.quarkus.runtime.LaunchMode;
2122
import io.quarkus.runtime.annotations.ConfigPhase;
2223
import io.quarkus.runtime.annotations.ConfigRoot;
24+
import io.smallrye.config.SmallRyeConfig;
2325

2426
public final class BooleanSupplierFactoryBuildItem extends SimpleBuildItem {
2527

26-
private final BuildTimeConfigurationReader.ReadResult readResult;
2728
private final LaunchMode launchMode;
2829
private final DevModeType devModeType;
29-
private final ClassValue<BooleanSupplier> suppliers = new ClassValue<BooleanSupplier>() {
30+
private final ClassValue<BooleanSupplier> suppliers = new ClassValue<>() {
31+
final SmallRyeConfig config = ConfigProvider.getConfig().unwrap(SmallRyeConfig.class);
32+
3033
@Override
3134
protected BooleanSupplier computeValue(Class<?> type) {
3235
// construct a new supplier instance
@@ -49,7 +52,7 @@ protected BooleanSupplier computeValue(Class<?> type) {
4952
final ConfigRoot annotation = parameterClass.getAnnotation(ConfigRoot.class);
5053
final ConfigPhase phase = annotation.phase();
5154
if (phase.isAvailableAtBuild()) {
52-
paramSuppList.add(() -> readResult.requireObjectForClass(parameterClass));
55+
paramSuppList.add(() -> config.getConfigMapping(parameterClass));
5356
} else if (phase.isReadAtMain()) {
5457
throw reportError(parameter, phase + " configuration cannot be consumed here");
5558
} else {
@@ -81,8 +84,7 @@ protected BooleanSupplier computeValue(Class<?> type) {
8184
final ConfigRoot annotation = fieldClass.getAnnotation(ConfigRoot.class);
8285
final ConfigPhase phase = annotation.phase();
8386
if (phase.isAvailableAtBuild()) {
84-
setup = setup.andThen(o -> ReflectUtil.setFieldVal(field, o,
85-
readResult.requireObjectForClass(fieldClass)));
87+
setup = setup.andThen(o -> ReflectUtil.setFieldVal(field, o, config.getConfigMapping(fieldClass)));
8688
} else if (phase.isReadAtMain()) {
8789
throw reportError(field, phase + " configuration cannot be consumed here");
8890
} else {
@@ -120,9 +122,7 @@ protected BooleanSupplier computeValue(Class<?> type) {
120122
}
121123
};
122124

123-
BooleanSupplierFactoryBuildItem(BuildTimeConfigurationReader.ReadResult readResult, LaunchMode launchMode,
124-
DevModeType devModeType) {
125-
this.readResult = readResult;
125+
BooleanSupplierFactoryBuildItem(LaunchMode launchMode, DevModeType devModeType) {
126126
this.launchMode = launchMode;
127127
this.devModeType = devModeType;
128128
}

core/deployment/src/main/java/io/quarkus/deployment/ExtensionLoader.java

Lines changed: 10 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@
8383
import io.quarkus.deployment.builditem.StaticBytecodeRecorderBuildItem;
8484
import io.quarkus.deployment.configuration.BuildTimeConfigurationReader;
8585
import io.quarkus.deployment.configuration.ConfigMappingUtils;
86-
import io.quarkus.deployment.configuration.definition.RootDefinition;
8786
import io.quarkus.deployment.recording.BytecodeRecorderImpl;
8887
import io.quarkus.deployment.recording.ObjectLoader;
8988
import io.quarkus.deployment.recording.RecorderContext;
@@ -143,7 +142,7 @@ public static Consumer<BuildChainBuilder> loadStepsFrom(ClassLoader classLoader,
143142
// install globally
144143
QuarkusConfigFactory.setConfig(src);
145144
final BuildTimeConfigurationReader.ReadResult readResult = reader.readConfiguration(src);
146-
final BooleanSupplierFactoryBuildItem bsf = new BooleanSupplierFactoryBuildItem(readResult, launchMode, devModeType);
145+
final BooleanSupplierFactoryBuildItem bsf = new BooleanSupplierFactoryBuildItem(launchMode, devModeType);
147146

148147
Consumer<BuildChainBuilder> result = Functions.discardingConsumer();
149148
// BooleanSupplier factory
@@ -174,13 +173,6 @@ public String getId() {
174173
Map<Object, FieldDescriptor> rootFields = new IdentityHashMap<>();
175174
Map<Object, ConfigClass> mappingClasses = new IdentityHashMap<>();
176175
for (Map.Entry<Class<?>, Object> entry : proxies.entrySet()) {
177-
// ConfigRoot
178-
RootDefinition root = readResult.getAllRootsByClass().get(entry.getKey());
179-
if (root != null) {
180-
rootFields.put(entry.getValue(), root.getDescriptor());
181-
continue;
182-
}
183-
184176
// ConfigMapping
185177
ConfigClass mapping = readResult.getAllMappingsByClass().get(entry.getKey());
186178
if (mapping != null) {
@@ -215,7 +207,7 @@ public ResultHandle load(final BytecodeCreator body, final Object obj, final boo
215207
ResultHandle config = body.invokeStaticMethod(getConfig);
216208
MethodDescriptor getMapping = MethodDescriptor.ofMethod(SmallRyeConfig.class, "getConfigMapping",
217209
Object.class, Class.class, String.class);
218-
return body.invokeVirtualMethod(getMapping, config, body.loadClass(mapping.getKlass()),
210+
return body.invokeVirtualMethod(getMapping, config, body.loadClass(mapping.getType()),
219211
body.load(mapping.getPrefix()));
220212
}
221213

@@ -268,6 +260,7 @@ private static Consumer<BuildChainBuilder> loadStepsFromClass(Class<?> clazz,
268260
throw reportError(clazz, "Build step classes must have exactly one constructor");
269261
}
270262

263+
SmallRyeConfig config = ConfigProvider.getConfig().unwrap(SmallRyeConfig.class);
271264
EnumSet<ConfigPhase> consumingConfigPhases = EnumSet.noneOf(ConfigPhase.class);
272265

273266
final Constructor<?> constructor = constructors[0];
@@ -325,10 +318,9 @@ private static Consumer<BuildChainBuilder> loadStepsFromClass(Class<?> clazz,
325318
consumingConfigPhases.add(phase);
326319

327320
if (phase.isAvailableAtBuild()) {
328-
ctorParamFns.add(bc -> bc.consume(ConfigurationBuildItem.class).getReadResult()
329-
.requireObjectForClass(parameterClass));
321+
ctorParamFns.add(buildContext -> config.getConfigMapping(parameterClass));
330322
if (phase == ConfigPhase.BUILD_AND_RUN_TIME_FIXED) {
331-
runTimeProxies.computeIfAbsent(parameterClass, readResult::requireObjectForClass);
323+
runTimeProxies.computeIfAbsent(parameterClass, config::getConfigMapping);
332324
}
333325
} else if (phase.isReadAtMain()) {
334326
throw reportError(parameter, phase + " configuration cannot be consumed here");
@@ -406,13 +398,10 @@ private static Consumer<BuildChainBuilder> loadStepsFromClass(Class<?> clazz,
406398

407399
if (phase.isAvailableAtBuild()) {
408400
stepInstanceSetup = stepInstanceSetup.andThen((bc, o) -> {
409-
final ConfigurationBuildItem configurationBuildItem = bc
410-
.consume(ConfigurationBuildItem.class);
411-
ReflectUtil.setFieldVal(field, o,
412-
configurationBuildItem.getReadResult().requireObjectForClass(fieldClass));
401+
ReflectUtil.setFieldVal(field, o, config.getConfigMapping(fieldClass));
413402
});
414403
if (phase == ConfigPhase.BUILD_AND_RUN_TIME_FIXED) {
415-
runTimeProxies.computeIfAbsent(fieldClass, readResult::requireObjectForClass);
404+
runTimeProxies.computeIfAbsent(fieldClass, config::getConfigMapping);
416405
}
417406
} else if (phase.isReadAtMain()) {
418407
throw reportError(field, phase + " configuration cannot be consumed here");
@@ -581,13 +570,9 @@ private static Consumer<BuildChainBuilder> loadStepsFromClass(Class<?> clazz,
581570
methodConsumingConfigPhases.add(phase);
582571

583572
if (phase.isAvailableAtBuild()) {
584-
methodParamFns.add((bc, bri) -> {
585-
final ConfigurationBuildItem configurationBuildItem = bc
586-
.consume(ConfigurationBuildItem.class);
587-
return configurationBuildItem.getReadResult().requireObjectForClass(parameterClass);
588-
});
573+
methodParamFns.add((bc, bri) -> config.getConfigMapping(parameterClass));
589574
if (isRecorder && phase == ConfigPhase.BUILD_AND_RUN_TIME_FIXED) {
590-
runTimeProxies.computeIfAbsent(parameterClass, readResult::requireObjectForClass);
575+
runTimeProxies.computeIfAbsent(parameterClass, config::getConfigMapping);
591576
}
592577
} else if (phase.isReadAtMain()) {
593578
if (isRecorder) {
@@ -641,7 +626,7 @@ private static Consumer<BuildChainBuilder> loadStepsFromClass(Class<?> clazz,
641626
if (annotation.phase().isReadAtMain()) {
642627
runTimeProxies.computeIfAbsent(theType, ConfigMappingUtils::newInstance);
643628
} else {
644-
runTimeProxies.computeIfAbsent(theType, readResult::requireObjectForClass);
629+
runTimeProxies.computeIfAbsent(theType, config::getConfigMapping);
645630
}
646631
}
647632
}

core/deployment/src/main/java/io/quarkus/deployment/builditem/ConfigurationTypeBuildItem.java

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

core/deployment/src/main/java/io/quarkus/deployment/builditem/DevServicesSharedNetworkBuildItem.java

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import io.quarkus.builder.BuildStepBuilder;
1111
import io.quarkus.builder.item.MultiBuildItem;
1212
import io.quarkus.deployment.dev.devservices.DevServicesConfig;
13-
import io.quarkus.deployment.dev.devservices.GlobalDevServicesConfig;
1413

1514
/**
1615
* A marker build item that indicates, if any instances are provided during the build, the containers started by DevServices
@@ -82,17 +81,4 @@ public static boolean isSharedNetworkRequired(
8281
(!devServicesSharedNetworkBuildItem.isEmpty()
8382
&& devServicesSharedNetworkBuildItem.get(0).getSource().equals("io.quarkus.test.junit"));
8483
}
85-
86-
/**
87-
* @deprecated Please, use {@link DevServicesSharedNetworkBuildItem#isSharedNetworkRequired(DevServicesConfig, List)}
88-
* instead.
89-
*/
90-
@Deprecated(forRemoval = true, since = "3.18")
91-
public static boolean isSharedNetworkRequired(
92-
GlobalDevServicesConfig globalDevServicesConfig,
93-
List<DevServicesSharedNetworkBuildItem> devServicesSharedNetworkBuildItem) {
94-
return globalDevServicesConfig.launchOnSharedNetwork ||
95-
(!devServicesSharedNetworkBuildItem.isEmpty()
96-
&& devServicesSharedNetworkBuildItem.get(0).getSource().equals("io.quarkus.test.junit"));
97-
}
9884
}

core/deployment/src/main/java/io/quarkus/deployment/builditem/RunTimeConfigurationDefaultBuildItem.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
package io.quarkus.deployment.builditem;
22

33
import io.quarkus.builder.item.MultiBuildItem;
4-
import io.quarkus.runtime.annotations.ConfigItem;
54
import io.smallrye.common.constraint.Assert;
65

76
/**
8-
* A build item which specifies a configuration default value for run time, which is used to establish a default other
9-
* than the one given for {@link ConfigItem#defaultValue()}.
7+
* A build item which specifies a configuration default value for run time.
108
*/
119
public final class RunTimeConfigurationDefaultBuildItem extends MultiBuildItem {
1210
private final String key;

0 commit comments

Comments
 (0)