From efe9a902f7710ceea03483ed4f8e84c830dfe056 Mon Sep 17 00:00:00 2001 From: Andres Almiray Date: Thu, 15 Dec 2022 11:20:27 +0100 Subject: [PATCH] fix(core): Check if path exists before walking it. Fixes #1108 --- .../java/org/jreleaser/templates/TemplateUtils.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/core/jreleaser-templates/src/main/java/org/jreleaser/templates/TemplateUtils.java b/core/jreleaser-templates/src/main/java/org/jreleaser/templates/TemplateUtils.java index 7e506141d..5715294e6 100644 --- a/core/jreleaser-templates/src/main/java/org/jreleaser/templates/TemplateUtils.java +++ b/core/jreleaser-templates/src/main/java/org/jreleaser/templates/TemplateUtils.java @@ -87,6 +87,10 @@ public static Map resolveTemplates(String distribution } Path actualTemplateDirectory = directory; + if (!Files.exists(actualTemplateDirectory)) { + return templates; + } + try { Files.walkFileTree(actualTemplateDirectory, new SimpleFileVisitor() { @Override @@ -99,7 +103,7 @@ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IO } catch (IOException e) { String distributionTypeName = distributionType.toLowerCase(Locale.ENGLISH).replace('_', '-'); throw new JReleaserException(RB.$("ERROR_unexpected_reading_templates_distribution", - distributionTypeName, toolName, actualTemplateDirectory.toAbsolutePath())); + distributionTypeName, toolName, actualTemplateDirectory.toAbsolutePath()), e); } return templates; @@ -108,6 +112,10 @@ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IO public static Map resolveTemplates(Path templateDirectory) { Map templates = new LinkedHashMap<>(); + if (!Files.exists(templateDirectory)) { + return templates; + } + try { Files.walkFileTree(templateDirectory, new SimpleFileVisitor() { @Override @@ -118,7 +126,7 @@ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IO } }); } catch (IOException e) { - throw new JReleaserException(RB.$("ERROR_unexpected_reading_templates_from", templateDirectory.toAbsolutePath())); + throw new JReleaserException(RB.$("ERROR_unexpected_reading_templates_from", templateDirectory.toAbsolutePath()), e); } return templates;