Skip to content

Commit 33038d3

Browse files
committed
Exclude shaded JSON packages from architecture checks
Closes gh-47207
1 parent b66509b commit 33038d3

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

buildSrc/src/main/java/org/springframework/boot/build/architecture/ArchitectureRules.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,11 @@ final class ArchitectureRules {
8282

8383
private static final String TEST_AUTOCONFIGURATION_ANNOTATION = "org.springframework.boot.test.autoconfigure.TestAutoConfiguration";
8484

85+
private static final Predicate<JavaPackage> NULL_MARKED_PACKAGE_FILTER = (candidate) -> !List
86+
.of("org.springframework.boot.cli.json", "org.springframework.boot.configurationmetadata.json",
87+
"org.springframework.boot.configurationprocessor.json")
88+
.contains(candidate.getName());
89+
8590
private ArchitectureRules() {
8691
}
8792

@@ -258,7 +263,9 @@ private static ArchRule conditionalOnMissingBeanShouldNotSpecifyOnlyATypeThatIsT
258263
}
259264

260265
static ArchRule packagesShouldBeAnnotatedWithNullMarked() {
261-
return ArchRuleDefinition.all(packages()).should(beAnnotatedWithNullMarked()).allowEmptyShould(true);
266+
return ArchRuleDefinition.all(packages(NULL_MARKED_PACKAGE_FILTER))
267+
.should(beAnnotatedWithNullMarked())
268+
.allowEmptyShould(true);
262269
}
263270

264271
private static ArchCondition<? super JavaMethod> notSpecifyOnlyATypeThatIsTheSameAsTheMethodReturnType() {
@@ -504,11 +511,11 @@ private static String shouldUse(String string) {
504511
return string + " should be used instead";
505512
}
506513

507-
static ClassesTransformer<JavaPackage> packages() {
514+
static ClassesTransformer<JavaPackage> packages(Predicate<JavaPackage> filter) {
508515
return new AbstractClassesTransformer<>("packages") {
509516
@Override
510517
public Iterable<JavaPackage> doTransform(JavaClasses collection) {
511-
return collection.stream().map(JavaClass::getPackage).collect(Collectors.toSet());
518+
return collection.stream().map(JavaClass::getPackage).filter(filter).collect(Collectors.toSet());
512519
}
513520
};
514521
}

0 commit comments

Comments
 (0)