From 705993f91194e98b25ddf79c664fbb76289fcecc Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Mon, 12 Jan 2009 13:18:38 +0000 Subject: [PATCH] don't automatically assume a to pattern contains a * in globmapper. PR 46506. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@733729 13f79535-47bb-0310-9956-ffa450edef68 --- WHATSNEW | 4 ++++ src/etc/testcases/taskdefs/pathconvert.xml | 2 +- src/main/org/apache/tools/ant/util/GlobPatternMapper.java | 8 ++++++-- src/tests/antunit/types/glob-test.xml | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) 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 @@ - +