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. ====================================================