[3/3] ant git commit: Merge 1.9.x branch into master
Merge 1.9.x branch into master Project: http://git-wip-us.apache.org/repos/asf/ant/repo Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/6c860479 Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/6c860479 Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/6c860479 Branch: refs/heads/master Commit: 6c860479a13852637876aee516ed974f5736c0ee Parents: 8efa4af 506c3ab Author: Jaikiran Pai Authored: Sat Nov 3 17:52:43 2018 +0530 Committer: Jaikiran Pai Committed: Sat Nov 3 17:52:43 2018 +0530 -- CONTRIBUTORS | 1 + WHATSNEW | 5 + contributors.xml | 4 src/etc/testcases/core/directoryscanner.xml | 5 + src/main/org/apache/tools/ant/DirectoryScanner.java | 12 src/main/org/apache/tools/ant/taskdefs/Delete.java | 15 ++- .../org/apache/tools/ant/DirectoryScannerTest.java | 14 ++ 7 files changed, 55 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ant/blob/6c860479/CONTRIBUTORS -- http://git-wip-us.apache.org/repos/asf/ant/blob/6c860479/WHATSNEW -- http://git-wip-us.apache.org/repos/asf/ant/blob/6c860479/contributors.xml -- diff --cc contributors.xml index ebf03ee,88b7a8c..3c95e6e --- a/contributors.xml +++ b/contributors.xml @@@ -1152,11 -1074,11 +1152,15 @@@ Yanos +Matthias +Bhend + + Michael + Barker + + + Michael Bayne http://git-wip-us.apache.org/repos/asf/ant/blob/6c860479/src/main/org/apache/tools/ant/DirectoryScanner.java -- http://git-wip-us.apache.org/repos/asf/ant/blob/6c860479/src/main/org/apache/tools/ant/taskdefs/Delete.java -- diff --cc src/main/org/apache/tools/ant/taskdefs/Delete.java index 22eefa1,fdddbbf..bf810e8 --- a/src/main/org/apache/tools/ant/taskdefs/Delete.java +++ b/src/main/org/apache/tools/ant/taskdefs/Delete.java @@@ -18,10 -18,8 +18,11 @@@ package org.apache.tools.ant.taskdefs; -import java.io.File; + import java.io.IOException; +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.Arrays; import java.util.Comparator; import java.util.Iterator; @@@ -814,7 -772,19 +815,19 @@@ public class Delete extends MatchingTas } for (String s : list) { File f = new File(d, s); - if (f.isDirectory()) { + + boolean isFsLoop = false; + + try { -isFsLoop = SYMLINK_UTILS.isSymbolicLink(f) && ++isFsLoop = Files.isSymbolicLink(f.toPath()) && + FileUtils.getFileUtils().isLeadingPath(f.getAbsoluteFile(), + d.getAbsoluteFile(), true); + } catch (IOException e) { + log("Failed to check if " + f + " causes a filesystem loop due to " + + "symbolic link; continuing"); + } + + if (f.isDirectory() && !isFsLoop) { removeDir(f); } else { log("Deleting " + f.getAbsolutePath(), quiet ? Project.MSG_VERBOSE : verbosity); http://git-wip-us.apache.org/repos/asf/ant/blob/6c860479/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java -- diff --cc src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java index 6dab26c,2abd94f..e332a9c --- a/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java +++ b/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java @@@ -131,10 -133,25 +131,24 @@@ public class DirectoryScannerTest } @Test + public void testAllowRecursiveSymlinks() { + + assumeTrue("Current system does not support Symlinks", supportsSymlinks); + + buildRule.getProject().executeTarget("symlink-nested-setup"); + DirectoryScanner ds = new DirectoryScanner(); + ds.setBasedir(new File(buildRule.getProject().getProperty("output"))); + ds.setIncludes(new String[] {"alpha/beta/gamma/"}); + ds.scan(); + compareFiles(ds, new String[] {"alpha/beta/gamma/gamma.xml"}, + new String[] {"alpha/beta/gamma"}); + } + + @Test public void testProhibitSymlinks() { assumeTrue("Current system does not support Symlinks", supportsSymlinks); -
[3/3] ant git commit: Merge 1.9.x branch into master
Merge 1.9.x branch into master Project: http://git-wip-us.apache.org/repos/asf/ant/repo Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/87b252f7 Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/87b252f7 Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/87b252f7 Branch: refs/heads/master Commit: 87b252f740999c88701b38b387ac6de4617fb6bf Parents: 33e2efe 21de7ad Author: Jaikiran Pai Authored: Sun Aug 26 16:00:14 2018 +0530 Committer: Jaikiran Pai Committed: Sun Aug 26 16:00:14 2018 +0530 -- src/main/org/apache/tools/ant/taskdefs/AugmentReference.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) --
[3/3] ant git commit: Merge 1.9.x branch into master
Merge 1.9.x branch into master Project: http://git-wip-us.apache.org/repos/asf/ant/repo Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/3b2587d7 Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/3b2587d7 Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/3b2587d7 Branch: refs/heads/master Commit: 3b2587d76601a684097bff2786149f8aa7a1730a Parents: 61d469c cd32b65 Author: Jaikiran PaiAuthored: Thu Mar 1 17:03:49 2018 +0530 Committer: Jaikiran Pai Committed: Thu Mar 1 17:03:49 2018 +0530 -- --
[3/3] ant git commit: Merge 1.9.x branch into master
Merge 1.9.x branch into master Project: http://git-wip-us.apache.org/repos/asf/ant/repo Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/c8ea02ee Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/c8ea02ee Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/c8ea02ee Branch: refs/heads/master Commit: c8ea02ee7ca72fac9bcd250698f5b76ee2536607 Parents: e9294e0 7f1685b Author: Jaikiran PaiAuthored: Fri Feb 9 16:02:11 2018 +0530 Committer: Jaikiran Pai Committed: Fri Feb 9 16:02:11 2018 +0530 -- src/main/org/apache/tools/ant/taskdefs/Copy.java | 10 -- 1 file changed, 4 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ant/blob/c8ea02ee/src/main/org/apache/tools/ant/taskdefs/Copy.java --
[3/3] ant git commit: Merge 1.9.x branch into master
Merge 1.9.x branch into master Project: http://git-wip-us.apache.org/repos/asf/ant/repo Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/1899e40b Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/1899e40b Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/1899e40b Branch: refs/heads/master Commit: 1899e40b2e3e3297fcd0561b6ad52daffbebcba5 Parents: c53eb2b e3f5250 Author: Jaikiran PaiAuthored: Fri Feb 9 12:44:37 2018 +0530 Committer: Jaikiran Pai Committed: Fri Feb 9 12:44:37 2018 +0530 -- WHATSNEW | 3 +++ src/etc/testcases/taskdefs/pathconvert.xml| 18 ++ .../org/apache/tools/ant/util/IdentityMapper.java | 10 +- .../tools/ant/taskdefs/PathConvertTest.java | 11 +++ 4 files changed, 41 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ant/blob/1899e40b/WHATSNEW -- diff --cc WHATSNEW index 457af52,2d4b6f1..75e48ff --- a/WHATSNEW +++ b/WHATSNEW @@@ -4,34 -4,12 +4,37 @@@ Changes from Ant 1.10.2 TO Ant 1.10. Fixed bugs: --- + * Fixed NullPointerException in ChainedMapper + Bugzilla Report 62086 + + * Fixed NullPointerException when a mappedresource is used in pathconvert +Bugzilla Report 62076 + -Changes from Ant 1.9.9 TO Ant 1.9.10 - +Changes from Ant 1.10.1 TO Ant 1.10.2 += + +Changes that could break older environments: +--- + + * updated the dependency of BCEL to 6.2. + Bugzilla Report 61196 + + * delete task previously would silently accept wildcard (*) + value for the "file" attribute. That's no longer the case + and an exception could get thrown by the underlying filesystem + for such use. Usage like: + + + + should instead be changed to use resource collections like: + + + + + + * Commons Net 3.6 is binary-code, but not source compatible; + see change list of Commons Net 3.0 for details * The Log4jListener is marked as deprecated as the required log4j library (in version 1.x) is not maintained any more. http://git-wip-us.apache.org/repos/asf/ant/blob/1899e40b/src/main/org/apache/tools/ant/util/IdentityMapper.java -- diff --cc src/main/org/apache/tools/ant/util/IdentityMapper.java index 548803d,18a31e5..dcfa023 --- a/src/main/org/apache/tools/ant/util/IdentityMapper.java +++ b/src/main/org/apache/tools/ant/util/IdentityMapper.java @@@ -49,7 -47,15 +49,15 @@@ public class IdentityMapper implements * @return the source filename in a one-element array. */ @Override -public String[] mapFileName(final String sourceFileName) { +public String[] mapFileName(String sourceFileName) { - return new String[] { sourceFileName }; + if (sourceFileName == null) { + // The FileNameMapper#mapFileName contract states that: + // "if the given rule doesn't apply to the source file, + // implementation must return null" + // we consider a null source file name as non-matching and + // hence return null + return null; + } + return new String[] {sourceFileName}; } }