diff --git a/WHATSNEW b/WHATSNEW index 6348841c6..54f53a0f5 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -86,6 +86,10 @@ Fixed bugs: * was broken on Windows. Bugzilla Report 49090 + * delete failed if the link attribute was a relative path + to a link inside the current directory without a leading ".". + Bugzilla Report 49137 + Other changes: -------------- diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java b/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java index a01f3762c..0ae517d41 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java @@ -184,7 +184,9 @@ public class Symlink extends DispatchTask { return; } log("Removing symlink: " + link); - SYMLINK_UTILS.deleteSymbolicLink(new File(link), this); + SYMLINK_UTILS.deleteSymbolicLink(FILE_UTILS + .resolveFile(new File("."), link), + this); } catch (FileNotFoundException fnfe) { handleError(fnfe.toString()); } catch (IOException ioe) { diff --git a/src/tests/antunit/taskdefs/optional/unix/symlink-test.xml b/src/tests/antunit/taskdefs/optional/unix/symlink-test.xml index b4986891f..1859db62a 100644 --- a/src/tests/antunit/taskdefs/optional/unix/symlink-test.xml +++ b/src/tests/antunit/taskdefs/optional/unix/symlink-test.xml @@ -92,4 +92,18 @@ + + + + + + + + +]]> + +