From 682ac53f32ba4f1bcadaf84f26635f6788a10166 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Fri, 27 May 2022 15:58:00 +0100 Subject: [PATCH] Ensure that config processor runs with only AutoConfiguration Fixes gh-31186 --- .../ConfigurationMetadataAnnotationProcessor.java | 7 +++++-- .../ConfigurationMetadataAnnotationProcessorTests.java | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor.java b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor.java index 7cc52dfac797..0423e723bd86 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -59,7 +59,8 @@ * @author Jonas Keßler * @since 1.2.0 */ -@SupportedAnnotationTypes({ ConfigurationMetadataAnnotationProcessor.CONFIGURATION_PROPERTIES_ANNOTATION, +@SupportedAnnotationTypes({ ConfigurationMetadataAnnotationProcessor.AUTO_CONFIGURATION_ANNOTATION, + ConfigurationMetadataAnnotationProcessor.CONFIGURATION_PROPERTIES_ANNOTATION, ConfigurationMetadataAnnotationProcessor.CONTROLLER_ENDPOINT_ANNOTATION, ConfigurationMetadataAnnotationProcessor.ENDPOINT_ANNOTATION, ConfigurationMetadataAnnotationProcessor.JMX_ENDPOINT_ANNOTATION, @@ -97,6 +98,8 @@ public class ConfigurationMetadataAnnotationProcessor extends AbstractProcessor static final String NAME_ANNOTATION = "org.springframework.boot.context.properties.bind.Name"; + static final String AUTO_CONFIGURATION_ANNOTATION = "org.springframework.boot.autoconfigure.AutoConfiguration"; + private static final Set SUPPORTED_OPTIONS = Collections .unmodifiableSet(Collections.singleton(ADDITIONAL_METADATA_LOCATIONS_OPTION)); diff --git a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessorTests.java b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessorTests.java index 6114aea6ba4a..e9825a236883 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessorTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessorTests.java @@ -80,7 +80,8 @@ class ConfigurationMetadataAnnotationProcessorTests extends AbstractMetadataGene @Test void supportedAnnotations() { assertThat(new ConfigurationMetadataAnnotationProcessor().getSupportedAnnotationTypes()) - .containsExactlyInAnyOrder("org.springframework.boot.context.properties.ConfigurationProperties", + .containsExactlyInAnyOrder("org.springframework.boot.autoconfigure.AutoConfiguration", + "org.springframework.boot.context.properties.ConfigurationProperties", "org.springframework.context.annotation.Configuration", "org.springframework.boot.actuate.endpoint.annotation.Endpoint", "org.springframework.boot.actuate.endpoint.jmx.annotation.JmxEndpoint",