From 7b09cbee35b2b8e5a4efc65506667350069798a8 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Mon, 10 Nov 2014 22:01:15 -0800 Subject: [PATCH] Don't generate empty configuration meta-data Update ConfigurationMetadataAnnotationProcessor to only write non-empty meta-data files. Fixes gh-1858 --- ...figurationMetadataAnnotationProcessor.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor.java b/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor.java index 787fc7e89e..b915318192 100644 --- a/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor.java +++ b/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor.java @@ -253,21 +253,23 @@ public class ConfigurationMetadataAnnotationProcessor extends AbstractProcessor protected void writeMetaData(ConfigurationMetadata metadata) { metadata = mergeManualMetadata(metadata); - try { - FileObject resource = this.processingEnv.getFiler().createResource( - StandardLocation.CLASS_OUTPUT, "", - "META-INF/spring-configuration-metadata.json"); - OutputStream outputStream = resource.openOutputStream(); + if (!metadata.getItems().isEmpty()) { try { - new JsonMarshaller().write(metadata, outputStream); + FileObject resource = this.processingEnv.getFiler().createResource( + StandardLocation.CLASS_OUTPUT, "", + "META-INF/spring-configuration-metadata.json"); + OutputStream outputStream = resource.openOutputStream(); + try { + new JsonMarshaller().write(metadata, outputStream); + } + finally { + outputStream.close(); + } } - finally { - outputStream.close(); + catch (Exception ex) { + throw new IllegalStateException(ex); } } - catch (Exception ex) { - throw new IllegalStateException(ex); - } } private ConfigurationMetadata mergeManualMetadata(ConfigurationMetadata metadata) {