Skip to content

Commit 71355bb

Browse files
committed
Config: remove the warning for ConfigInjectionStaticInitBuildItem
- deprecate ConfigInjectionStaticInitBuildItem
1 parent 46febda commit 71355bb

File tree

6 files changed

+5
-278
lines changed

6 files changed

+5
-278
lines changed

extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/ConfigBuildStep.java

-68
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import jakarta.enterprise.context.Dependent;
3131
import jakarta.enterprise.inject.CreationException;
3232

33-
import org.eclipse.microprofile.config.Config;
3433
import org.eclipse.microprofile.config.ConfigValue;
3534
import org.eclipse.microprofile.config.inject.ConfigProperties;
3635
import org.eclipse.microprofile.config.inject.ConfigProperty;
@@ -42,10 +41,8 @@
4241
import org.jboss.jandex.DotName;
4342
import org.jboss.jandex.FieldInfo;
4443
import org.jboss.jandex.MethodInfo;
45-
import org.jboss.jandex.ParameterizedType;
4644
import org.jboss.jandex.Type;
4745
import org.jboss.jandex.Type.Kind;
48-
import org.jboss.logging.Logger;
4946

5047
import io.quarkus.arc.Unremovable;
5148
import io.quarkus.arc.deployment.BeanRegistrationPhaseBuildItem.BeanConfiguratorBuildItem;
@@ -67,7 +64,6 @@
6764
import io.quarkus.deployment.builditem.ConfigPropertiesBuildItem;
6865
import io.quarkus.deployment.builditem.ConfigurationBuildItem;
6966
import io.quarkus.deployment.builditem.GeneratedClassBuildItem;
70-
import io.quarkus.deployment.builditem.RunTimeConfigurationDefaultBuildItem;
7167
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
7268
import io.quarkus.deployment.configuration.definition.RootDefinition;
7369
import io.quarkus.deployment.recording.RecorderContext;
@@ -80,14 +76,11 @@
8076
* MicroProfile Config related build steps.
8177
*/
8278
public class ConfigBuildStep {
83-
private static final Logger LOGGER = Logger.getLogger(ConfigBuildStep.class.getName());
8479

85-
private static final DotName MP_CONFIG = DotName.createSimple(Config.class.getName());
8680
static final DotName MP_CONFIG_PROPERTY_NAME = DotName.createSimple(ConfigProperty.class.getName());
8781
private static final DotName MP_CONFIG_PROPERTIES_NAME = DotName.createSimple(ConfigProperties.class.getName());
8882
private static final DotName MP_CONFIG_VALUE_NAME = DotName.createSimple(ConfigValue.class.getName());
8983

90-
private static final DotName SR_CONFIG = DotName.createSimple(io.smallrye.config.SmallRyeConfig.class.getName());
9184
private static final DotName SR_CONFIG_VALUE_NAME = DotName.createSimple(io.smallrye.config.ConfigValue.class.getName());
9285

9386
private static final DotName MAP_NAME = DotName.createSimple(Map.class.getName());
@@ -474,67 +467,6 @@ void validateConfigPropertiesInjectionPoints(
474467
toRegister.forEach(configProperties::produce);
475468
}
476469

477-
@BuildStep
478-
void warnStaticInitInjectionPoints(
479-
CombinedIndexBuildItem indexBuildItem,
480-
ValidationPhaseBuildItem validationPhase,
481-
List<ConfigClassBuildItem> configClasses,
482-
List<ConfigInjectionStaticInitBuildItem> configInjectionStaticInit,
483-
BuildProducer<RunTimeConfigurationDefaultBuildItem> runTimeConfigurationDefault) {
484-
485-
// Add here annotated classes that are initialized during static init
486-
Set<DotName> declaringClassCandidates = configInjectionStaticInit.stream()
487-
.map(ConfigInjectionStaticInitBuildItem::getDeclaringCandidate).collect(toSet());
488-
489-
Set<Type> configClassesTypes = configClasses.stream().map(ConfigClassBuildItem::getTypes).flatMap(Collection::stream)
490-
.collect(toSet());
491-
492-
for (InjectionPointInfo injectionPoint : validationPhase.getContext().getInjectionPoints()) {
493-
if (injectionPoint.getType().name().equals(DotNames.INSTANCE)) {
494-
continue;
495-
}
496-
497-
Type type = Type.create(injectionPoint.getRequiredType().name(), Type.Kind.CLASS);
498-
DotName injectionTypeName = null;
499-
if (type.name().equals(MP_CONFIG) || type.name().equals(SR_CONFIG)) {
500-
injectionTypeName = type.name();
501-
} else if (injectionPoint.getRequiredQualifier(MP_CONFIG_PROPERTY_NAME) != null) {
502-
injectionTypeName = MP_CONFIG_PROPERTY_NAME;
503-
} else if (configClassesTypes.contains(type)) {
504-
injectionTypeName = type.name();
505-
}
506-
507-
if (injectionTypeName != null) {
508-
AnnotationTarget target = injectionPoint.getTarget();
509-
if (FIELD.equals(target.kind())) {
510-
FieldInfo field = target.asField();
511-
ClassInfo declaringClass = field.declaringClass();
512-
Map<DotName, List<AnnotationInstance>> annotationsMap = declaringClass.annotationsMap();
513-
for (DotName declaringClassCandidate : declaringClassCandidates) {
514-
List<AnnotationInstance> annotationInstances = annotationsMap.get(declaringClassCandidate);
515-
if (annotationInstances != null && annotationInstances.size() == 1) {
516-
AnnotationInstance annotationInstance = annotationInstances.get(0);
517-
if (annotationInstance.target().equals(declaringClass)) {
518-
LOGGER.warn("Directly injecting a " +
519-
injectionTypeName +
520-
" into a " +
521-
declaringClassCandidate +
522-
" may lead to unexpected results. To ensure proper results, please " +
523-
"change the type of the field to " +
524-
ParameterizedType.create(DotNames.INSTANCE, new Type[] { type }, null) +
525-
". Offending field is '" +
526-
field.name() +
527-
"' of class '" +
528-
field.declaringClass() +
529-
"'");
530-
}
531-
}
532-
}
533-
}
534-
}
535-
}
536-
}
537-
538470
@BuildStep
539471
@Record(RUNTIME_INIT)
540472
void registerConfigClasses(

extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/ConfigInjectionStaticInitBuildItem.java

+5
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44

55
import io.quarkus.builder.item.MultiBuildItem;
66

7+
/**
8+
*
9+
* @deprecated This build item is not used anymore
10+
*/
11+
@Deprecated(forRemoval = true)
712
public final class ConfigInjectionStaticInitBuildItem extends MultiBuildItem {
813
private final DotName declaringCandidate;
914

extensions/resteasy-classic/resteasy-common/deployment/src/main/java/io/quarkus/resteasy/common/deployment/ResteasyCommonProcessor.java

-6
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
import io.quarkus.arc.deployment.AdditionalBeanBuildItem;
4444
import io.quarkus.arc.deployment.BeanArchiveIndexBuildItem;
4545
import io.quarkus.arc.deployment.BeanContainerBuildItem;
46-
import io.quarkus.arc.deployment.ConfigInjectionStaticInitBuildItem;
4746
import io.quarkus.arc.deployment.UnremovableBeanBuildItem;
4847
import io.quarkus.arc.processor.DotNames;
4948
import io.quarkus.deployment.Capabilities;
@@ -181,11 +180,6 @@ ResteasyInjectionReadyBuildItem setupResteasyInjection(
181180
return new ResteasyInjectionReadyBuildItem(injectorFactory);
182181
}
183182

184-
@BuildStep
185-
ConfigInjectionStaticInitBuildItem configInjectionStaticInitProvider() {
186-
return new ConfigInjectionStaticInitBuildItem(ResteasyDotNames.PROVIDER);
187-
}
188-
189183
@BuildStep
190184
JaxrsProvidersToRegisterBuildItem setupProviders(BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
191185
CombinedIndexBuildItem indexBuildItem,

extensions/resteasy-classic/resteasy/deployment/src/test/java/io/quarkus/resteasy/test/config/ProviderConfigInjectionWarningsTest.java

-104
This file was deleted.

extensions/undertow/deployment/src/main/java/io/quarkus/undertow/deployment/UndertowBuildStep.java

-6
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@
8181
import io.quarkus.arc.deployment.AdditionalBeanBuildItem;
8282
import io.quarkus.arc.deployment.AnnotationsTransformerBuildItem;
8383
import io.quarkus.arc.deployment.BeanContainerBuildItem;
84-
import io.quarkus.arc.deployment.ConfigInjectionStaticInitBuildItem;
8584
import io.quarkus.arc.deployment.ContextRegistrationPhaseBuildItem;
8685
import io.quarkus.arc.deployment.ContextRegistrationPhaseBuildItem.ContextConfiguratorBuildItem;
8786
import io.quarkus.arc.deployment.CustomScopeBuildItem;
@@ -685,11 +684,6 @@ SyntheticBeanBuildItem servletContextBean(
685684
.supplier(recorder.servletContextSupplier()).done();
686685
}
687686

688-
@BuildStep
689-
ConfigInjectionStaticInitBuildItem configInjectionStaticInitAnnotations() {
690-
return new ConfigInjectionStaticInitBuildItem(WEB_FILTER);
691-
}
692-
693687
/**
694688
* Process a single index.
695689
*

extensions/undertow/deployment/src/test/java/io/quarkus/undertow/test/config/WebFilterConfigInjectionWarningsTest.java

-94
This file was deleted.

0 commit comments

Comments
 (0)