Uncompressing Tasks

Description

For each of the supported compression formats there is a correspondig task that uncompresses a resource. These tasks are based on their core cousin tasks.

If dest is a directory the name of the destination file is the same as src (with the compression specific extension removed if present). If dest is omitted, the parent dir of src is taken. The file is only expanded if the source resource is newer than the destination file, or when the destination file does not exist.

Parameters

Attribute Description Required
src the file to expand. Yes, or a nested resource collection.
dest the destination file or directory. No

Parameters specified as nested elements

any resource or single element resource collection

The specified resource will be used as src.

BUnZip2

Is an uncompressing task that uses the BZIP2 compression algorithm.

GUnZip

Is an uncompressing task that uses the GZIP compression algorithm.

Examples

<cmp:gunzip src="test.tar.gz" xmlns:cmp="antlib:org.apache.ant.compress"/>

expands test.tar.gz to test.tar

<cmp:bunzip2 src="test.tar.bz2" xmlns:cmp="antlib:org.apache.ant.compress"/>

expands test.tar.bz2 to test.tar

<cmp:gunzip src="test.tar.gz" dest="test2.tar" xmlns:cmp="antlib:org.apache.ant.compress"/>

expands test.tar.gz to test2.tar

<cmp:gunzip src="test.tar.gz" dest="subdir" xmlns:cmp="antlib:org.apache.ant.compress"/>

expands test.tar.gz to subdir/test.tar (assuming subdir is a directory).

<cmp:gunzip dest="." xmlns:cmp="antlib:org.apache.ant.compress">
  <url url="http://example.org/archive.tar.gz"/>
</cmp:gunzip>

downloads http://example.org/archive.tar.gz and expands it to archive.tar in the project's basedir on the fly.

Related tasks

<cmp:gunzip src="some-archive.gz" dest="some-dest-dir" xmlns:cmp="antlib:org.apache.ant.compress"/>
is identical to
<copy todir="some-dest-dir">
  <cmp:gzipresource xmlns:cmp="antlib:org.apache.ant.compress">
    <file file="some-archive.gz"/>
  </cmp:gzipresource>
  <mapper type="glob" from="*.gz" to="*"/>
</copy>

The same is also true for <bunzip2> and <bzip2resource>. <copy> offers additional features like filtering files on the fly, allowing a file to be mapped to multiple destinations, preserving the last modified time or a configurable file system timestamp granularity.