Bug 55083 - Globmapper broken when from doesn't contain '*'
Summary: Globmapper broken when from doesn't contain '*'
Status: RESOLVED WONTFIX
Alias: None
Product: Ant
Classification: Unclassified
Component: Core (show other bugs)
Version: 1.9.1
Hardware: PC All
: P2 normal (vote)
Target Milestone: ---
Assignee: Ant Notifications List
URL:
Keywords: PatchAvailable
Depends on:
Blocks:
 
Reported: 2013-06-08 20:54 UTC by Gilbert Rebhan
Modified: 2013-09-20 18:09 UTC (History)
1 user (show)



Attachments
GlobPatternMapper.diff (1.09 KB, text/plain)
2013-06-08 20:54 UTC, Gilbert Rebhan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gilbert Rebhan 2013-06-08 20:54:23 UTC
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
Comment 1 Jesse Glick 2013-06-10 15:34:39 UTC
Since <globmapper from="src" to=""/> is incorrect syntax, this should at least log a warning that it is being accepted only for backward compatibility.
Comment 2 Gilbert Rebhan 2013-06-10 19:04:43 UTC
(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 ?
Comment 3 Stefan Bodewig 2013-09-20 18:09:01 UTC
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.