From 7a4de8c2abc52688b29af1e86b7b58681686b7bb Mon Sep 17 00:00:00 2001 From: Thorsten Schmidt Date: Wed, 6 Mar 2024 19:48:07 +0100 Subject: [PATCH] Added creation of parent directories for imageDigestOutputPath, imageIdOutputPath and imageJsonOutputPath --- .../cloud/tools/jib/plugins/common/JibBuildRunner.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/jib-plugins-common/src/main/java/com/google/cloud/tools/jib/plugins/common/JibBuildRunner.java b/jib-plugins-common/src/main/java/com/google/cloud/tools/jib/plugins/common/JibBuildRunner.java index 867f0bd83a..05cb4bf74c 100644 --- a/jib-plugins-common/src/main/java/com/google/cloud/tools/jib/plugins/common/JibBuildRunner.java +++ b/jib-plugins-common/src/main/java/com/google/cloud/tools/jib/plugins/common/JibBuildRunner.java @@ -233,14 +233,17 @@ public JibContainer runBuild() // when an image is built, write out the digest and id if (imageDigestOutputPath != null) { + createParentDirectories(imageDigestOutputPath); String imageDigest = jibContainer.getDigest().toString(); Files.write(imageDigestOutputPath, imageDigest.getBytes(StandardCharsets.UTF_8)); } if (imageIdOutputPath != null) { + createParentDirectories(imageIdOutputPath); String imageId = jibContainer.getImageId().toString(); Files.write(imageIdOutputPath, imageId.getBytes(StandardCharsets.UTF_8)); } if (imageJsonOutputPath != null) { + createParentDirectories(imageJsonOutputPath); ImageMetadataOutput metadataOutput = ImageMetadataOutput.fromJibContainer(jibContainer); String imageJson = metadataOutput.toJson(); Files.write(imageJsonOutputPath, imageJson.getBytes(StandardCharsets.UTF_8)); @@ -326,4 +329,11 @@ public JibBuildRunner writeImageJson(@Nullable Path imageJsonOutputPath) { this.imageJsonOutputPath = imageJsonOutputPath; return this; } + + private static void createParentDirectories(Path filePath) throws IOException { + Path parent = filePath.getParent(); + if (parent != null) + Files.createDirectories(parent); + } + }