Ant - Java - zipfileset - excluding directory

I have an ant target for creating a zip like this -

<zip destfile="${dist}/myzip.zip"> <zipfileset dir="docs/manual" prefix="docs/userguide"/> </zip> 

Basically, the myzip.zip archive is myzip.zip with all files and directories under docs/manual with the docs / userguide prefix in the archive.

But I do not want to include all the directories in docs/manual for copying to the archive, I have a directory under old under docs/manual , which I want to exclude ... How to do this?

+6
java ant zip
source share
4 answers

On the ZipFileSet page

<zipfileset> supports all <fileset> attributes in addition to the ones listed below.

See FileSet for help.

Here's how you do it:

 <zipfileset dir="docs/manual" prefix="docs/userguide"> <exclude name="old/**"/> </zipfileset> 

or inline attribute:

 <zipfileset dir="docs/manual" prefix="docs/userguide" exclude="old/**" /> 

Update: Now using wildcards instead of a simple name.

+10
source share

you can exclude the whole directory as follows:

 <zipfileset dir="docs/manual" prefix="docs/userguide" exlcudes="**/old/**"/> 
+2
source share
 <zip destfile="${dist}/myzip.zip" excludes="docs/manual/old/**"> <zipfileset dir="docs/manual" prefix="docs/userguide"/> </zip> 
+1
source share

This was the only one that worked for me to delete a specific file template

 <zip destfile="${bin.dir}/boo.jar"> <zipfileset dir="${classes.dir}" excludes="**/*/BooCreator*.class"/> </zip> 
0
source share

All Articles