From ad64cd067787e7bdcc4b2148d5358d75fa366a80 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Thu, 14 Sep 2023 06:51:48 +0200 Subject: [PATCH] Do not copy sources if the directory does not exist --- src/org/argeo/build/Make.java | 56 ++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/src/org/argeo/build/Make.java b/src/org/argeo/build/Make.java index ca5fc8e..2568d9b 100644 --- a/src/org/argeo/build/Make.java +++ b/src/org/argeo/build/Make.java @@ -517,41 +517,43 @@ public class Make { } }); - // Add all resources from src/ - Files.walkFileTree(srcP, new SimpleFileVisitor() { - @Override - public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException { - // skip directories ending with .js - // TODO find something more robust? - if (dir.getFileName().toString().endsWith(".js")) - return FileVisitResult.SKIP_SUBTREE; - return super.preVisitDirectory(dir, attrs); - } + if (Files.exists(srcP)) { + // Add all resources from src/ + Files.walkFileTree(srcP, new SimpleFileVisitor() { + @Override + public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException { + // skip directories ending with .js + // TODO find something more robust? + if (dir.getFileName().toString().endsWith(".js")) + return FileVisitResult.SKIP_SUBTREE; + return super.preVisitDirectory(dir, attrs); + } - @Override - public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { - if (file.getFileName().toString().endsWith(".java") - || file.getFileName().toString().endsWith(".class")) + @Override + public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { + if (file.getFileName().toString().endsWith(".java") + || file.getFileName().toString().endsWith(".class")) + return FileVisitResult.CONTINUE; + jarOut.putNextEntry(new JarEntry(srcP.relativize(file).toString())); + if (!Files.isDirectory(file)) + Files.copy(file, jarOut); return FileVisitResult.CONTINUE; - jarOut.putNextEntry(new JarEntry(srcP.relativize(file).toString())); - if (!Files.isDirectory(file)) - Files.copy(file, jarOut); - return FileVisitResult.CONTINUE; - } - }); + } + }); + // add sources + // TODO add effective BND, Eclipse project file, etc., in order to be able to + // repackage + if (!sourceBundles) { + copySourcesToJar(srcP, jarOut, "OSGI-OPT/src/"); + } + } + // add legal notices and licenses for (Path p : listLegalFilesToInclude(source).values()) { jarOut.putNextEntry(new JarEntry(p.getFileName().toString())); Files.copy(p, jarOut); } - - // add sources - // TODO add effective BND, Eclipse project file, etc., in order to be able to - // repackage - if (!sourceBundles) { - copySourcesToJar(srcP, jarOut, "OSGI-OPT/src/"); - } } if (sourceBundles) {// create separate sources jar -- 2.30.2