Skip to content

Commit 61873fb

Browse files
committed
Don't generate @configuration metadata
Update `AutoConfigureAnnotationProcessor` to no longer store `@Configuration.value` in the meta-data JSON since we never actually read it. Closes spring-projectsgh-16608
1 parent 795303d commit 61873fb

File tree

7 files changed

+8
-66
lines changed

7 files changed

+8
-66
lines changed

spring-boot-project/spring-boot-tools/spring-boot-autoconfigure-processor/src/main/java/org/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor.java

+1-4
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,7 @@
5151
* @author Phillip Webb
5252
* @since 1.5.0
5353
*/
54-
@SupportedAnnotationTypes({ "org.springframework.context.annotation.Configuration",
55-
"org.springframework.boot.autoconfigure.condition.ConditionalOnClass",
54+
@SupportedAnnotationTypes({ "org.springframework.boot.autoconfigure.condition.ConditionalOnClass",
5655
"org.springframework.boot.autoconfigure.condition.ConditionalOnBean",
5756
"org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate",
5857
"org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication",
@@ -79,7 +78,6 @@ public AutoConfigureAnnotationProcessor() {
7978
}
8079

8180
protected void addAnnotations(Map<String, String> annotations) {
82-
annotations.put("Configuration", "org.springframework.context.annotation.Configuration");
8381
annotations.put("ConditionalOnClass", "org.springframework.boot.autoconfigure.condition.ConditionalOnClass");
8482
annotations.put("ConditionalOnBean", "org.springframework.boot.autoconfigure.condition.ConditionalOnBean");
8583
annotations.put("ConditionalOnSingleCandidate",
@@ -92,7 +90,6 @@ protected void addAnnotations(Map<String, String> annotations) {
9290
}
9391

9492
private void addValueExtractors(Map<String, ValueExtractor> attributes) {
95-
attributes.put("Configuration", ValueExtractor.allFrom("value"));
9693
attributes.put("ConditionalOnClass", new OnClassConditionValueExtractor());
9794
attributes.put("ConditionalOnBean", new OnBeanConditionValueExtractor());
9895
attributes.put("ConditionalOnSingleCandidate", new OnBeanConditionValueExtractor());

spring-boot-project/spring-boot-tools/spring-boot-autoconfigure-processor/src/test/java/org/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessorTests.java

+3-15
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818

1919
import java.io.File;
2020
import java.io.IOException;
21-
import java.util.ArrayList;
22-
import java.util.List;
2321
import java.util.Properties;
2422

2523
import org.junit.jupiter.api.BeforeEach;
@@ -50,14 +48,12 @@ void createCompiler() throws IOException {
5048
@Test
5149
void annotatedClass() throws Exception {
5250
Properties properties = compile(TestClassConfiguration.class);
53-
assertThat(properties).hasSize(6);
51+
assertThat(properties).hasSize(5);
5452
assertThat(properties).containsEntry(
5553
"org.springframework.boot.autoconfigureprocessor.TestClassConfiguration.ConditionalOnClass",
5654
"java.io.InputStream,org.springframework.boot.autoconfigureprocessor."
5755
+ "TestClassConfiguration$Nested,org.springframework.foo");
5856
assertThat(properties).containsKey("org.springframework.boot.autoconfigureprocessor.TestClassConfiguration");
59-
assertThat(properties)
60-
.containsKey("org.springframework.boot.autoconfigureprocessor.TestClassConfiguration.Configuration");
6157
assertThat(properties)
6258
.doesNotContainKey("org.springframework.boot.autoconfigureprocessor.TestClassConfiguration$Nested");
6359
assertThat(properties).containsEntry(
@@ -72,7 +68,7 @@ void annotatedClass() throws Exception {
7268
@Test
7369
void annotatedClassWithOnBeanThatHasName() throws Exception {
7470
Properties properties = compile(TestOnBeanWithNameClassConfiguration.class);
75-
assertThat(properties).hasSize(3);
71+
assertThat(properties).hasSize(2);
7672
assertThat(properties).containsEntry(
7773
"org.springframework.boot.autoconfigureprocessor.TestOnBeanWithNameClassConfiguration.ConditionalOnBean",
7874
"");
@@ -81,15 +77,7 @@ void annotatedClassWithOnBeanThatHasName() throws Exception {
8177
@Test
8278
void annotatedMethod() throws Exception {
8379
Properties properties = compile(TestMethodConfiguration.class);
84-
List<String> matching = new ArrayList<>();
85-
for (Object key : properties.keySet()) {
86-
if (key.toString().startsWith("org.springframework.boot.autoconfigureprocessor.TestMethodConfiguration")) {
87-
matching.add(key.toString());
88-
}
89-
}
90-
assertThat(matching).hasSize(2)
91-
.contains("org.springframework.boot.autoconfigureprocessor.TestMethodConfiguration")
92-
.contains("org.springframework.boot.autoconfigureprocessor.TestMethodConfiguration.Configuration");
80+
assertThat(properties).isNull();
9381
}
9482

9583
@Test

spring-boot-project/spring-boot-tools/spring-boot-autoconfigure-processor/src/test/java/org/springframework/boot/autoconfigureprocessor/TestAutoConfigureAnnotationProcessor.java

+4-6
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,10 @@
2929
*
3030
* @author Madhura Bhave
3131
*/
32-
@SupportedAnnotationTypes({ "org.springframework.boot.autoconfigureprocessor.TestConfiguration",
33-
"org.springframework.boot.autoconfigureprocessor.TestConditionalOnClass",
34-
"org.springframework.boot.autoconfigure.condition.TestConditionalOnBean",
35-
"org.springframework.boot.autoconfigure.condition.TestConditionalOnSingleCandidate",
36-
"org.springframework.boot.autoconfigure.condition.TestConditionalOnWebApplication",
32+
@SupportedAnnotationTypes({ "org.springframework.boot.autoconfigureprocessor.TestConditionalOnClass",
33+
"org.springframework.boot.autoconfigureprocessor.TestConditionalOnBean",
34+
"org.springframework.boot.autoconfigureprocessor.TestConditionalOnSingleCandidate",
35+
"org.springframework.boot.autoconfigureprocessor.TestConditionalOnWebApplication",
3736
"org.springframework.boot.autoconfigureprocessor.TestAutoConfigureBefore",
3837
"org.springframework.boot.autoconfigureprocessor.TestAutoConfigureAfter",
3938
"org.springframework.boot.autoconfigureprocessor.TestAutoConfigureOrder" })
@@ -47,7 +46,6 @@ public TestAutoConfigureAnnotationProcessor(File outputLocation) {
4746

4847
@Override
4948
protected void addAnnotations(Map<String, String> annotations) {
50-
put(annotations, "Configuration", TestConfiguration.class);
5149
put(annotations, "ConditionalOnClass", TestConditionalOnClass.class);
5250
put(annotations, "ConditionalOnBean", TestConditionalOnBean.class);
5351
put(annotations, "ConditionalOnSingleCandidate", TestConditionalOnSingleCandidate.class);

spring-boot-project/spring-boot-tools/spring-boot-autoconfigure-processor/src/test/java/org/springframework/boot/autoconfigureprocessor/TestClassConfiguration.java

-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
*
2424
* @author Madhura Bhave
2525
*/
26-
@TestConfiguration
2726
@TestConditionalOnClass(name = { "org.springframework.foo", "java.io.InputStream" },
2827
value = TestClassConfiguration.Nested.class)
2928
@TestConditionalOnBean(type = "java.io.OutputStream")

spring-boot-project/spring-boot-tools/spring-boot-autoconfigure-processor/src/test/java/org/springframework/boot/autoconfigureprocessor/TestConfiguration.java

-38
This file was deleted.

spring-boot-project/spring-boot-tools/spring-boot-autoconfigure-processor/src/test/java/org/springframework/boot/autoconfigureprocessor/TestMethodConfiguration.java

-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
*
2424
* @author Madhura Bhave
2525
*/
26-
@TestConfiguration
2726
public class TestMethodConfiguration {
2827

2928
@TestConditionalOnClass(name = "java.io.InputStream", value = OutputStream.class)

spring-boot-project/spring-boot-tools/spring-boot-autoconfigure-processor/src/test/java/org/springframework/boot/autoconfigureprocessor/TestOnBeanWithNameClassConfiguration.java

-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
*
2222
* @author Phillip Webb
2323
*/
24-
@TestConfiguration
2524
@TestConditionalOnBean(name = "test", type = "java.io.OutputStream")
2625
public class TestOnBeanWithNameClassConfiguration {
2726

0 commit comments

Comments
 (0)