Skip to content

Commit d62d7ca

Browse files
Revert "Generate ManagementContextConfiguration.imports file from annotations"
This reverts commit 6b3b0dd.
1 parent 1f53eb7 commit d62d7ca

12 files changed

+74
-335
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
org.springframework.boot.actuate.autoconfigure.endpoint.web.ServletEndpointManagementContextConfiguration
2+
org.springframework.boot.actuate.autoconfigure.endpoint.web.jersey.JerseyWebEndpointManagementContextConfiguration
3+
org.springframework.boot.actuate.autoconfigure.endpoint.web.reactive.WebFluxEndpointManagementContextConfiguration
4+
org.springframework.boot.actuate.autoconfigure.endpoint.web.servlet.WebMvcEndpointManagementContextConfiguration
5+
org.springframework.boot.actuate.autoconfigure.security.servlet.SecurityRequestMatchersManagementContextConfiguration
6+
org.springframework.boot.actuate.autoconfigure.web.jersey.JerseySameManagementContextConfiguration
7+
org.springframework.boot.actuate.autoconfigure.web.jersey.JerseyChildManagementContextConfiguration
8+
org.springframework.boot.actuate.autoconfigure.web.reactive.ReactiveManagementChildContextConfiguration
9+
org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementChildContextConfiguration
10+
org.springframework.boot.actuate.autoconfigure.web.servlet.WebMvcEndpointChildContextConfiguration

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

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

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

Lines changed: 55 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,23 @@
1616

1717
package org.springframework.boot.autoconfigureprocessor;
1818

19+
import java.io.IOException;
20+
import java.io.OutputStreamWriter;
21+
import java.io.Writer;
22+
import java.nio.charset.StandardCharsets;
23+
import java.util.ArrayList;
24+
import java.util.List;
25+
import java.util.Set;
26+
27+
import javax.annotation.processing.AbstractProcessor;
28+
import javax.annotation.processing.Filer;
29+
import javax.annotation.processing.RoundEnvironment;
1930
import javax.annotation.processing.SupportedAnnotationTypes;
31+
import javax.lang.model.SourceVersion;
32+
import javax.lang.model.element.Element;
33+
import javax.lang.model.element.TypeElement;
34+
import javax.tools.FileObject;
35+
import javax.tools.StandardLocation;
2036

2137
/**
2238
* Annotation processor to generate a
@@ -27,11 +43,47 @@
2743
* @since 3.0.0
2844
*/
2945
@SupportedAnnotationTypes({ "org.springframework.boot.autoconfigure.AutoConfiguration" })
30-
public class AutoConfigurationImportsAnnotationProcessor extends AbstractImportsAnnotationProcessor {
46+
public class AutoConfigurationImportsAnnotationProcessor extends AbstractProcessor {
47+
48+
static final String IMPORTS_FILE_PATH = "META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports";
49+
50+
private final List<String> qualifiedClassNames = new ArrayList<>();
51+
52+
@Override
53+
public SourceVersion getSupportedSourceVersion() {
54+
return SourceVersion.latestSupported();
55+
}
3156

3257
@Override
33-
protected String getImportsFilePath() {
34-
return "META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports";
58+
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
59+
for (TypeElement annotation : annotations) {
60+
Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(annotation);
61+
for (Element element : elements) {
62+
this.qualifiedClassNames.add(element.asType().toString());
63+
}
64+
}
65+
if (roundEnv.processingOver()) {
66+
try {
67+
writeImportsFile();
68+
}
69+
catch (IOException ex) {
70+
throw new IllegalStateException("Failed to write auto-configuration imports file", ex);
71+
}
72+
}
73+
return false;
74+
}
75+
76+
private void writeImportsFile() throws IOException {
77+
if (!this.qualifiedClassNames.isEmpty()) {
78+
Filer filer = this.processingEnv.getFiler();
79+
FileObject file = filer.createResource(StandardLocation.CLASS_OUTPUT, "", IMPORTS_FILE_PATH);
80+
try (Writer writer = new OutputStreamWriter(file.openOutputStream(), StandardCharsets.UTF_8)) {
81+
for (String className : this.qualifiedClassNames) {
82+
writer.append(className);
83+
writer.append(System.lineSeparator());
84+
}
85+
}
86+
}
3587
}
3688

3789
}

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

Lines changed: 0 additions & 37 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor,aggregating
2-
org.springframework.boot.autoconfigureprocessor.AutoConfigurationImportsAnnotationProcessor,aggregating
3-
org.springframework.boot.autoconfigureprocessor.ManagementContextConfigurationImportsAnnotationProcessor,aggregating
2+
org.springframework.boot.autoconfigureprocessor.AutoConfigurationImportsAnnotationProcessor,aggregating
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor
22
org.springframework.boot.autoconfigureprocessor.AutoConfigurationImportsAnnotationProcessor
3-
org.springframework.boot.autoconfigureprocessor.ManagementContextConfigurationImportsAnnotationProcessor

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

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
import static org.assertj.core.api.Assertions.assertThat;
3333

3434
/**
35-
* Tests for {@link AutoConfigurationImportsAnnotationProcessor}.
35+
* Tests for {@link TestAutoConfigurationImportsAnnotationProcessor}.
3636
*
3737
* @author Scott Frederick
3838
*/
@@ -67,16 +67,20 @@ void notAnnotatedClasses() throws Exception {
6767
private List<String> compile(Class<?>... types) throws IOException {
6868
TestAutoConfigurationImportsAnnotationProcessor processor = new TestAutoConfigurationImportsAnnotationProcessor();
6969
this.compiler.getTask(types).call(processor);
70-
return getWrittenImports(processor.getImportsFilePath());
70+
return getWrittenImports();
7171
}
7272

73-
private List<String> getWrittenImports(String importsFilePath) throws IOException {
74-
File file = new File(this.tempDir, importsFilePath);
73+
private List<String> getWrittenImports() throws IOException {
74+
File file = getWrittenFile();
7575
if (!file.exists()) {
7676
return null;
7777
}
7878
BufferedReader reader = new BufferedReader(new FileReader(file));
7979
return reader.lines().collect(Collectors.toList());
8080
}
8181

82+
private File getWrittenFile() {
83+
return new File(this.tempDir, AutoConfigurationImportsAnnotationProcessor.IMPORTS_FILE_PATH);
84+
}
85+
8286
}

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

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

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

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

0 commit comments

Comments
 (0)