Add @AutoConfiguration annotation support to the autoconfigure-processor

See gh-29907
This commit is contained in:
Moritz Halbritter
2022-02-23 13:35:06 +01:00
parent 9149ae50da
commit 7872f61bfc
7 changed files with 301 additions and 73 deletions

View File

@@ -112,6 +112,15 @@ class AutoConfigurationSorterTests {
assertThat(actual).containsExactly(C, B2, A3);
}
@Test
void byAutoConfigureAfterAliasForWithProperties() throws Exception {
MetadataReaderFactory readerFactory = new CachingMetadataReaderFactory();
this.autoConfigurationMetadata = getAutoConfigurationMetadata(A3, B2, C);
this.sorter = new AutoConfigurationSorter(readerFactory, this.autoConfigurationMetadata);
List<String> actual = this.sorter.getInPriorityOrder(Arrays.asList(A3, B2, C));
assertThat(actual).containsExactly(C, B2, A3);
}
@Test
void byAutoConfigureBefore() {
List<String> actual = this.sorter.getInPriorityOrder(Arrays.asList(X, Y, Z));
@@ -124,6 +133,15 @@ class AutoConfigurationSorterTests {
assertThat(actual).containsExactly(Z2, Y2, X);
}
@Test
void byAutoConfigureBeforeAliasForWithProperties() throws Exception {
MetadataReaderFactory readerFactory = new CachingMetadataReaderFactory();
this.autoConfigurationMetadata = getAutoConfigurationMetadata(X, Y2, Z2);
this.sorter = new AutoConfigurationSorter(readerFactory, this.autoConfigurationMetadata);
List<String> actual = this.sorter.getInPriorityOrder(Arrays.asList(X, Y2, Z2));
assertThat(actual).containsExactly(Z2, Y2, X);
}
@Test
void byAutoConfigureAfterDoubles() {
List<String> actual = this.sorter.getInPriorityOrder(Arrays.asList(A, B, C, E));
@@ -273,7 +291,7 @@ class AutoConfigurationSorterTests {
}
@AutoConfiguration(after = { AutoConfigureC.class, AutoConfigureD.class, AutoConfigureE.class })
@AutoConfiguration(after = { AutoConfigureC.class })
static class AutoConfigureB2 {
}