From 464c15e52c82da5f1c86a088894e203439f1e65e Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Mon, 6 Apr 2020 17:29:59 -0700 Subject: [PATCH] Ensure empty layers are written to the index file Update the `LayersIndex` class to ensure that layers that do not contain content are still written. Closes gh-20858 --- .../org/springframework/boot/loader/tools/LayersIndex.java | 4 ++-- .../springframework/boot/loader/tools/LayersIndexTests.java | 2 +- ...ts-writeToWhenAllFilesInFolderAreInSameLayerUsesFolder.txt | 1 + ...ersIndexTests-writeToWhenLayerNotUsedDoesNotSkipLayer.txt} | 1 + 4 files changed, 5 insertions(+), 3 deletions(-) rename spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/test/resources/org/springframework/boot/loader/tools/{LayersIndexTests-writeToWhenLayerNotUsedSkipsLayer.txt => LayersIndexTests-writeToWhenLayerNotUsedDoesNotSkipLayer.txt} (87%) diff --git a/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/main/java/org/springframework/boot/loader/tools/LayersIndex.java b/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/main/java/org/springframework/boot/loader/tools/LayersIndex.java index fc770770c82..ab750ed568a 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/main/java/org/springframework/boot/loader/tools/LayersIndex.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/main/java/org/springframework/boot/loader/tools/LayersIndex.java @@ -96,8 +96,8 @@ public class LayersIndex { BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out, StandardCharsets.UTF_8)); for (Layer layer : this.layers) { List names = index.get(layer); - if (names != null && !names.isEmpty()) { - writer.write("- \"" + layer + "\":\n"); + writer.write("- \"" + layer + "\":\n"); + if (names != null) { for (String name : names) { writer.write(" - \"" + name + "\"\n"); } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/test/java/org/springframework/boot/loader/tools/LayersIndexTests.java b/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/test/java/org/springframework/boot/loader/tools/LayersIndexTests.java index 27ff4bf86aa..c162cf4ae0f 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/test/java/org/springframework/boot/loader/tools/LayersIndexTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/test/java/org/springframework/boot/loader/tools/LayersIndexTests.java @@ -75,7 +75,7 @@ class LayersIndexTests { } @Test - void writeToWhenLayerNotUsedSkipsLayer() { + void writeToWhenLayerNotUsedDoesNotSkipLayer() { LayersIndex index = new LayersIndex(LAYER_A, LAYER_B, LAYER_C); index.add(LAYER_A, "a1"); index.add(LAYER_A, "a2"); diff --git a/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/test/resources/org/springframework/boot/loader/tools/LayersIndexTests-writeToWhenAllFilesInFolderAreInSameLayerUsesFolder.txt b/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/test/resources/org/springframework/boot/loader/tools/LayersIndexTests-writeToWhenAllFilesInFolderAreInSameLayerUsesFolder.txt index f18bd426563..c463bda16b5 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/test/resources/org/springframework/boot/loader/tools/LayersIndexTests-writeToWhenAllFilesInFolderAreInSameLayerUsesFolder.txt +++ b/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/test/resources/org/springframework/boot/loader/tools/LayersIndexTests-writeToWhenAllFilesInFolderAreInSameLayerUsesFolder.txt @@ -2,3 +2,4 @@ - "a1/" - "b": - "a2/" +- "c": diff --git a/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/test/resources/org/springframework/boot/loader/tools/LayersIndexTests-writeToWhenLayerNotUsedSkipsLayer.txt b/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/test/resources/org/springframework/boot/loader/tools/LayersIndexTests-writeToWhenLayerNotUsedDoesNotSkipLayer.txt similarity index 87% rename from spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/test/resources/org/springframework/boot/loader/tools/LayersIndexTests-writeToWhenLayerNotUsedSkipsLayer.txt rename to spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/test/resources/org/springframework/boot/loader/tools/LayersIndexTests-writeToWhenLayerNotUsedDoesNotSkipLayer.txt index 4618afa671a..c895ed2aade 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/test/resources/org/springframework/boot/loader/tools/LayersIndexTests-writeToWhenLayerNotUsedSkipsLayer.txt +++ b/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/test/resources/org/springframework/boot/loader/tools/LayersIndexTests-writeToWhenLayerNotUsedDoesNotSkipLayer.txt @@ -1,6 +1,7 @@ - "a": - "a1" - "a2" +- "b": - "c": - "c1" - "c2"