diff --git a/WHATSNEW b/WHATSNEW index 951b3e1cd..8e363ff4f 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -322,6 +322,10 @@ Fixed bugs: miss some files and directories in the presence of recursive exclude patterns. + * globmapper didn't work properly if the "to" pattern didn't contain + a *. + Bugzilla Report 46506. + Other changes: -------------- diff --git a/src/etc/testcases/taskdefs/pathconvert.xml b/src/etc/testcases/taskdefs/pathconvert.xml index 1a00bd937..a9b109ef6 100755 --- a/src/etc/testcases/taskdefs/pathconvert.xml +++ b/src/etc/testcases/taskdefs/pathconvert.xml @@ -31,7 +31,7 @@ - + diff --git a/src/main/org/apache/tools/ant/util/GlobPatternMapper.java b/src/main/org/apache/tools/ant/util/GlobPatternMapper.java index 076efd6be..d302d70f4 100644 --- a/src/main/org/apache/tools/ant/util/GlobPatternMapper.java +++ b/src/main/org/apache/tools/ant/util/GlobPatternMapper.java @@ -68,6 +68,7 @@ public class GlobPatternMapper implements FileNameMapper { // CheckStyle:VisibilityModifier ON + private boolean toContainsStar = false; private boolean handleDirSep = false; private boolean caseSensitive = true; @@ -126,6 +127,7 @@ public class GlobPatternMapper implements FileNameMapper { } else { toPrefix = to.substring(0, index); toPostfix = to.substring(index + 1); + toContainsStar = true; } } else { throw new BuildException("this mapper requires a 'to' attribute"); @@ -148,8 +150,10 @@ public class GlobPatternMapper implements FileNameMapper { return null; } return new String[] {toPrefix - + extractVariablePart(sourceFileName) - + toPostfix}; + + (toContainsStar + ? extractVariablePart(sourceFileName) + + toPostfix + : "")}; } /** diff --git a/src/tests/antunit/types/glob-test.xml b/src/tests/antunit/types/glob-test.xml index 77d796de4..9222dbb17 100644 --- a/src/tests/antunit/types/glob-test.xml +++ b/src/tests/antunit/types/glob-test.xml @@ -47,7 +47,7 @@ - @@ -58,7 +58,7 @@ - +