projects
/
cc0
/
argeo-build.git
/ commitdiff
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0057183
)
Fix uninstall of repackaged jars
author
Mathieu Baudier <mbaudier@argeo.org>
Wed, 6 Mar 2024 10:58:53 +0000
(11:58 +0100)
committer
Mathieu Baudier <mbaudier@argeo.org>
Wed, 6 Mar 2024 10:58:53 +0000
(11:58 +0100)
src/org/argeo/build/Make.java
patch
|
blob
|
history
diff --git
a/src/org/argeo/build/Make.java
b/src/org/argeo/build/Make.java
index 9f6f0846d1a6447c7664bb04ad66db3f5451a482..fa464989793ba95b1ce4b2879d4c076bb3ebe5ac 100644
(file)
--- 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);
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());
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 {
/** 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);
if (!Files.isDirectory(targetParent))
throw new IllegalArgumentException(targetParent + " must be a directory");
boolean isA2target = Files.isSameFile(baseDir, targetParent);