Protect against transitive additional meta-data

Update ConfigurationMetadataAnnotationProcessor to ensure that only
local `additional-spring-configuration-metadata.json` files are merged
with the final output.

See gh-1830
This commit is contained in:
Phillip Webb 2014-11-05 21:03:10 -08:00
parent 7e5bb9697c
commit 2696d37097
1 changed files with 4 additions and 0 deletions

View File

@ -275,6 +275,10 @@ public class ConfigurationMetadataAnnotationProcessor extends AbstractProcessor
FileObject manualMetadata = this.processingEnv.getFiler().getResource(
StandardLocation.CLASS_PATH, "",
"META-INF/additional-spring-configuration-metadata.json");
if (!"file".equals(manualMetadata.toUri().getScheme())) {
// We only wan't local files, not any classpath jars
return metadata;
}
InputStream inputStream = manualMetadata.openInputStream();
try {
ConfigurationMetadata merged = new ConfigurationMetadata(metadata);