AdditionalMetadataLocationsConfigurer Class — spring-boot Architecture
Architecture documentation for the AdditionalMetadataLocationsConfigurer class in JavaPluginAction.java from the spring-boot codebase.
Entity Profile
Relationship Graph
Source Code
build-plugin/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/JavaPluginAction.java lines 342–375
private static final class AdditionalMetadataLocationsConfigurer implements Action<Task> {
private final Set<File> locations;
private AdditionalMetadataLocationsConfigurer(Set<File> locations) {
this.locations = locations;
}
@Override
public void execute(Task task) {
if (!(task instanceof JavaCompile compile)) {
return;
}
if (hasConfigurationProcessorOnClasspath(compile)) {
configureAdditionalMetadataLocations(compile);
}
}
private boolean hasConfigurationProcessorOnClasspath(JavaCompile compile) {
Set<File> files = (compile.getOptions().getAnnotationProcessorPath() != null)
? compile.getOptions().getAnnotationProcessorPath().getFiles() : compile.getClasspath().getFiles();
return files.stream()
.map(File::getName)
.anyMatch((name) -> name.startsWith("spring-boot-configuration-processor"));
}
private void configureAdditionalMetadataLocations(JavaCompile compile) {
compile.getOptions()
.getCompilerArgs()
.add("-Aorg.springframework.boot.configurationprocessor.additionalMetadataLocations="
+ StringUtils.collectionToCommaDelimitedString(this.locations));
}
}
Domain
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free