Hello,

I have a situation where I need to create an archive (zip) from an other
one, but transforming some path inside. I want to avoid using a temporary
folder structure as the input files contains a huge amount of entries
(about 125000...) and this generates quite a lot of I/Os.

I was thinking of using <zip> and <zipfileset>. However, as <zip> does not
support <mapper>, it is not possible directly.

So I thought of using the <mappedresources> resource collection:
<zip destfile="dest.zip">
<mappedresources enablemultiplemappings="true">
<zipfileset src="src.zip" includes="**" />
<firstmatchmapper> <mapper type="glob" from="fromfolder\*" to="tofolder\*"
/> <identitymapper /> </firstmatchmapper>
</mappedresources>
</zip>

The mapping is done quite fast but then zip is reeaaally slow (can be seen
when running in verbose mode). My guess is that Ant will look for each
resource individually and thus scan the source zip each time.

Is there any other possibility to achieve zip to zip transfer with mapping
/ transformation (and filtering with include/exclude patterns) ?
Or is there any way to add <mapper> support in <zip> ?

Thank you,

Patrick

Reply via email to