ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brown, Carlton" <Carlton.Br...@compucredit.com>
Subject Zip files: elegant way of remapping directories while extracting?
Date Wed, 26 Nov 2008 15:32:12 GMT
I am wondering how I can extract selected directores from a zip file
while performing granular re-mapping of multiple directories.   I have
tried various techniques with <unzip> but cannot find the case I'm
looking for.

The <zip> task allows the simple convenience re-mapping of directory
structures by using a nested <zipfileset> with the prefix attribute.
However, the <unzip> task is not the inverse of the <zip>.   It is
treated as a special case of copy, requiring the use of patternsets and
mappers (along with the benefits and limitations thereof).   Thus,
certain complex mappings that can be done with <zip> cannot conversely
be done in an <unzip>.   Or so it appears to me.

For example, I have a zip file whose output needs to be mapped as
follows:

/en/html -> /root
/en/jsp -> /root
/static/pdf -> /root/pdf

The third mapping is different from the first two.   Multiple mappers
would be needed to accomplish this, but it is not possible to nest
multiple mappers within a an <unzip> or <copy> (except in a chain, which
operates on all files, not just selected ones).

Here is my fantasy code that would accomplish the <unzip> as elegantly
as the <zip> can be peformed in actuality:
<unzip src="web.zip">
	<zipfileset dir="en/html" includes="*" prefix="/root"/>
	<zipfileset dir="en/jsp" includes="*" prefix="/root"/>
	<zipfileset dir="static/pdf" includes="*" prefix="/root/pdf"/>
</unzip>

Have I missed some actual way of doing this in a simple and elegant
fashion?  Otherwise I'm forced to unzip the entire archive and perform
many <copy> tasks at a granular level to perform the restructure.

Thanks in advance,
Carlton



-----------------------------------------
====================================================
This message contains PRIVILEGED and CONFIDENTIAL
information that is intended only for use by the 
named recipient. If you are not the named recipient,
any disclosure, dissemination, or action based on 
the contents of this message is prohibited. In such
case please notify us and destroy and delete all 
copies of this transmission.  Thank you.
====================================================
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message