X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=src%2Forg%2Fargeo%2Fbuild%2FMake.java;h=fa464989793ba95b1ce4b2879d4c076bb3ebe5ac;hb=be6644ed2c90f0b870495b8fbd67b5698943c128;hp=9f6f0846d1a6447c7664bb04ad66db3f5451a482;hpb=0057183fefa56b30bb175dce9fd9b6933b980288;p=cc0%2Fargeo-build.git diff --git a/src/org/argeo/build/Make.java b/src/org/argeo/build/Make.java index 9f6f084..fa46498 100644 --- a/src/org/argeo/build/Make.java +++ b/src/org/argeo/build/Make.java @@ -380,7 +380,7 @@ public class Make { Path targetParent = targetJarP.getParent(); if (targetParent.startsWith(targetA2)) deleteEmptyParents(targetA2, targetParent); - if (targetParent.startsWith(nativeTargetA2)) + if (nativeTargetA2 != null && targetParent.startsWith(nativeTargetA2)) deleteEmptyParents(nativeTargetA2, targetParent); } else { // install Files.createDirectories(targetJarP.getParent()); @@ -416,6 +416,10 @@ public class Make { /** Delete empty parent directory up to the base directory (included). */ void deleteEmptyParents(Path baseDir, Path targetParent) throws IOException { + if (!targetParent.startsWith(baseDir)) + throw new IllegalArgumentException(targetParent + " does not start with " + baseDir); + if (!Files.exists(targetParent)) + deleteEmptyParents(baseDir, targetParent.getParent()); if (!Files.isDirectory(targetParent)) throw new IllegalArgumentException(targetParent + " must be a directory"); boolean isA2target = Files.isSameFile(baseDir, targetParent);