Apache Compress Antlib
The Apache Compress Antlib contains tasks and resources that provide compression/uncompression and archival/unarchival capabilities based on Apache Commons Compress.
June 13, 2017 - Apache Compress Ant Library 1.5 Available
Using Apache Commons Compress this Antlib supports gzip, xz, pack200, lzma, snappy, Unix .Z, DEFLATE, LZ4, Brotli and bzip2 compression and ar, arj, cpio, tar, Unix dump, 7z and zip archives. Support for the dump, Brotli, .Z and arj formats is read-only. For the 7z format only file based resources are supported.
The current code base is based on the 1.14 release of Commons Compress but it is expected that this Antlib follows Commons Compress' development and will add new compression or archiving formats as they are provided by the underlying library.
The gzip and bzip2 tasks and resources are similar to the corresponding tasks and types in Ant's core and mainly just use a different code base for the implementation of the formats.
The same is mostly true for the zip and tar resources as well as the unzip/tar task with some major differences:
- unzip and zipfileset can work with non-File resources.
- All zip resources and tasks support Zip64 extensions i.e. they can deal with large entries, large archives or archives with many files that Ant's core resources/tasks can not handle.
- untar and tarfileset transparently support POSIX/PAX extension headers used by modern tar implementations for long file names or big file sizes - as well as star's extension for large file sizes used by star and GNU tar.
- The tar task can use PAX extension headers for long file names or big file sizes or star's extension. Archives created with the POSIX format will be readable by GNU tar but also by all modern native tar implementations.
The zip and tar tasks are completely new implementations and offer a superset of the functionality of the core tasks.
Tasks and resources for the ar, arj, dump, 7z and cpio formats mirror those available for tar and zip. Those for pack200, lzma, snappy, brotli, lz4, .Z and xz mirror those of gzip and bzip2.
All tasks and types can be mixed with the core tasks and types; it is possible to use the core zip task to create an archive based on a cpiofileset for example.
As of version 1.5, the Compress Antlib requires Java 7 or higher.