Created attachment 30419 [details] GlobPatternMapper.diff We are currently in the process to upgrade our builds from Ant 1.7.1 to Ant 1.9.1 A colleague reported his buildscript using the globmapper to strip of a subdirectory (Yes i know, there are other ways like cutdirsmapper since Ant 1.8.x) is broken with Ant 1.9.1 - same behaviour with Ant 1.8.4 : <copy todir="some/dir"> <fileset dir="some/other/dir" includes="src\**\*.java" /> <globmapper from="src" to=""/> </copy> gives : [copy] some/other/dir/src/de/foo/bar/Foobar.java skipped - don't know how to handle it … [copy] No sources found. but it worked in Ant 1.7.1 : [copy] some/other/dir/src/de/foo/bar/Foobar.java to some/dir/de/foo/bar/Foobar.java Created a patch to make it work again, see attached diff. Regards, Gilbert
Since <globmapper from="src" to=""/> is incorrect syntax, this should at least log a warning that it is being accepted only for backward compatibility.
(In reply to Jesse Glick from comment #1) > Since <globmapper from="src" to=""/> is incorrect syntax, this should at > least log a warning that it is being accepted only for backward > compatibility. Incorrect syntax => accepted, but some people used globmapper like that in the past. So, the bugreport/patch will be accepted if a warning is logged ?
This here is from WHATSNEW * globmapper didn't work properly if the "to" or "from" patterns didn't contain a "*". In particular it implicitly added a * to the end of the pattern(s). This is no longer the case. If you relied on this behavior you will now need to explicitly specify the trailing "*". in the "that could break older environments" section of 1.8.0RC1. The change has been deliberate to fix counterintuitive behavior.