A <zipfileset>
is a special form of
a <fileset>
which can behave in 2 different ways:
<zipfileset>
supports all attributes
of <fileset>
in addition to those listed below. Note
that zip archives in general don't contain entries with leading slashes so you shouldn't
use includes/excludes patterns that start with slashes either.
Since Ant 1.6, a zipfileset can be defined with the id attribute and referred to with the refid attribute.
Attribute | Description | Required |
---|---|---|
prefix | all files in the fileset are prefixed with that path in the archive. | No |
fullpath | the file described by the fileset is placed at that exact location in the archive. | No |
src | may be used in place of the dir attribute to specify a zip file whose contents will be extracted and included in the archive. | No |
filemode | A 3 digit octal string, specify the user, group and other modes in the standard Unix fashion. Only applies to plain files. Since Ant 1.5.2 | No; default is 644 |
dirmode | A 3 digit octal string, specify the user, group and other modes in the standard Unix fashion. Only applies to directories. Since Ant 1.5.2 | No; default is 755 |
encoding | The character encoding to use for filenames inside the zip file. For a list of possible values see the Supported Encodings. | No; defaults to default JVM character encoding |
erroronmissingarchive | Specify what happens if the archive does not exist. If true, a build error will happen; if false, the fileset will be ignored/empty. Since Ant 1.8.0 |
No; defaults to true |
The fullpath attribute can only be set for filesets that represent a single file. The prefix and fullpath attributes cannot both be set on the same fileset.
When using the src attribute, includes and excludes patterns may be used to specify a subset of the archive for inclusion in the archive as with the dir attribute.
Please note that currently only the tar and zip tasks use the permission.
The specified resource will be used as src.
<zip destfile="${dist}/manual.zip"> <zipfileset dir="htdocs/manual" prefix="docs/user-guide"/> <zipfileset dir="." includes="ChangeLog27.txt" fullpath="docs/ChangeLog.txt"/> <zipfileset src="examples.zip" includes="**/*.html" prefix="docs/examples"/> </zip>
zips all files in the htdocs/manual directory into the docs/user-guide directory in the archive, adds the file ChangeLog27.txt in the current directory as docs/ChangeLog.txt, and includes all the html files in examples.zip under docs/examples. The archive might end up containing the files:
docs/user-guide/html/index.html docs/ChangeLog.txt docs/examples/index.html