@@ -1,6 +1,16 @@ | |||||
Changes from Ant 1.10.0 TO Ant 1.10.1 | Changes from Ant 1.10.0 TO Ant 1.10.1 | ||||
===================================== | ===================================== | ||||
Other changes: | |||||
-------------- | |||||
* new tasks <xz> and <unxz> and resource <xzresource> for XZ | |||||
compression. Also the compression attribute of <tar>/<untar> now | |||||
accepts "xz" as valid value. | |||||
The tasks and type are contained in the new ant-xz.jar and require | |||||
the library XZ for Java to be on the CLASSPATH. | |||||
Bugzilla Report 60350 | |||||
Changes from Ant 1.9.7 TO Ant 1.10.0 | Changes from Ant 1.9.7 TO Ant 1.10.0 | ||||
==================================== | ==================================== | ||||
@@ -19,16 +19,22 @@ | |||||
<head> | <head> | ||||
<meta http-equiv="Content-Language" content="en-us"> | <meta http-equiv="Content-Language" content="en-us"> | ||||
<link rel="stylesheet" type="text/css" href="../stylesheets/style.css"> | <link rel="stylesheet" type="text/css" href="../stylesheets/style.css"> | ||||
<title>GZip/BZip2 Tasks</title> | |||||
<title>GZip/BZip2/XZ Tasks</title> | |||||
</head> | </head> | ||||
<body> | <body> | ||||
<h2><a name="pack">GZip/BZip2</a></h2> | <h2><a name="pack">GZip/BZip2</a></h2> | ||||
<h3>Description</h3> | <h3>Description</h3> | ||||
<p>Packs a resource using the GZip or BZip2 algorithm. | |||||
<p>Packs a resource using the GZip, BZip2 or XZ algorithm. | |||||
The output file is only generated if it doesn't exist or the source | The output file is only generated if it doesn't exist or the source | ||||
resource is newer.</p> | resource is newer.</p> | ||||
<p>XZ compression support has been added with Apache Ant 1.10.1 and | |||||
depends on external libraries not included in the Ant distribution. | |||||
See <a href="../install.html#librarydependencies">Library | |||||
Dependencies</a> for more information.</p> | |||||
<h3>Parameters</h3> | <h3>Parameters</h3> | ||||
<table border="1" cellpadding="2" cellspacing="0"> | <table border="1" cellpadding="2" cellspacing="0"> | ||||
<tr> | <tr> | ||||
@@ -38,7 +44,7 @@ resource is newer.</p> | |||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td valign="top">src</td> | <td valign="top">src</td> | ||||
<td valign="top">the file to gzip/bzip.</td> | |||||
<td valign="top">the file to gzip/bzip/xz.</td> | |||||
<td align="center" valign="top">Yes, or a nested resource collection.</td> | <td align="center" valign="top">Yes, or a nested resource collection.</td> | ||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
@@ -64,6 +70,9 @@ resource collection</h4> | |||||
<bzip2 src="test.tar" destfile="test.tar.bz2"/> | <bzip2 src="test.tar" destfile="test.tar.bz2"/> | ||||
</pre></blockquote> | </pre></blockquote> | ||||
<blockquote><pre> | <blockquote><pre> | ||||
<xz src="test.tar" destfile="test.tar.xz"/> | |||||
</pre></blockquote> | |||||
<blockquote><pre> | |||||
<gzip destfile="archive.tar.gz"> | <gzip destfile="archive.tar.gz"> | ||||
<url url="http://example.org/archive.tar"/> | <url url="http://example.org/archive.tar"/> | ||||
</gzip> | </gzip> | ||||
@@ -24,17 +24,22 @@ | |||||
<body> | <body> | ||||
<h2><a name="unpack">GUnzip/BUnzip2</a></h2> | |||||
<h2><a name="unpack">GUnzip/BUnzip2/UnXZ</a></h2> | |||||
<h3>Description</h3> | <h3>Description</h3> | ||||
<p>Expands a resource packed using GZip or BZip2.</p> | |||||
<p>Expands a resource packed using GZip, BZip2 or XZ.</p> | |||||
<p>If <i>dest</i> is a directory the name of the destination file is | <p>If <i>dest</i> is a directory the name of the destination file is | ||||
the same as <i>src</i> (with the ".gz" or ".bz2" | |||||
the same as <i>src</i> (with the ".gz", ".bz2" or ".xz" | |||||
extension removed if present). If <i>dest</i> is omitted, the parent | extension removed if present). If <i>dest</i> is omitted, the parent | ||||
dir of <i>src</i> is taken. The file is only expanded if the source | dir of <i>src</i> is taken. The file is only expanded if the source | ||||
resource is newer than the destination file, or when the destination file | resource is newer than the destination file, or when the destination file | ||||
does not exist.</p> | does not exist.</p> | ||||
<p>XZ compression support has been added with Apache Ant 1.10.1 and | |||||
depends on external libraries not included in the Ant distribution. | |||||
See <a href="../install.html#librarydependencies">Library | |||||
Dependencies</a> for more information.</p> | |||||
<h3>Parameters</h3> | <h3>Parameters</h3> | ||||
<table border="1" cellpadding="2" cellspacing="0"> | <table border="1" cellpadding="2" cellspacing="0"> | ||||
<tr> | <tr> | ||||
@@ -70,6 +75,10 @@ resource collection</h4> | |||||
</pre></blockquote> | </pre></blockquote> | ||||
<p>expands <i>test.tar.bz2</i> to <i>test.tar</i></p> | <p>expands <i>test.tar.bz2</i> to <i>test.tar</i></p> | ||||
<blockquote><pre> | <blockquote><pre> | ||||
<uncz src="test.tar.xz"/> | |||||
</pre></blockquote> | |||||
<p>expands <i>test.tar.xz</i> to <i>test.tar</i></p> | |||||
<blockquote><pre> | |||||
<gunzip src="test.tar.gz" dest="test2.tar"/> | <gunzip src="test.tar.gz" dest="test2.tar"/> | ||||
</pre></blockquote> | </pre></blockquote> | ||||
<p>expands <i>test.tar.gz</i> to <i>test2.tar</i></p> | <p>expands <i>test.tar.gz</i> to <i>test2.tar</i></p> | ||||
@@ -104,12 +113,12 @@ is identical to | |||||
</pre> | </pre> | ||||
<p>The same is also true for <code><bunzip2></code> and | <p>The same is also true for <code><bunzip2></code> and | ||||
<code><bzip2resource></code>. <code><copy></code> offers | |||||
additional features like <a | |||||
href="../Types/filterchain.html">filtering files</a> on the fly, | |||||
allowing a file to be mapped to multiple destinations, preserving the | |||||
last modified time or a configurable file system timestamp | |||||
granularity.</p> | |||||
<code><bzip2resource></code> or <code>%lt;unxz></code> | |||||
and <code>%lt;xzresource></code>. <code><copy></code> offers | |||||
additional features like <a href="../Types/filterchain.html">filtering | |||||
files</a> on the fly, allowing a file to be mapped to multiple | |||||
destinations, preserving the last modified time or a configurable file | |||||
system timestamp granularity.</p> | |||||
@@ -49,6 +49,7 @@ explicit use beginning in <b>Ant 1.7</b>. | |||||
<li><a href="#string">string</a> - a text string.</li> | <li><a href="#string">string</a> - a text string.</li> | ||||
<li><a href="#tarentry">tarentry</a> - an entry in a tar file.</li> | <li><a href="#tarentry">tarentry</a> - an entry in a tar file.</li> | ||||
<li><a href="#url">url</a> - a URL.</li> | <li><a href="#url">url</a> - a URL.</li> | ||||
<li><a href="#xzresource">xzresource</a> - an XZ compressed resource.</li> | |||||
<li><a href="#zipentry">zipentry</a> - an entry in a zip file.</li> | <li><a href="#zipentry">zipentry</a> - an entry in a zip file.</li> | ||||
</ul> | </ul> | ||||
@@ -277,6 +278,18 @@ resource providing compression of the resource's contents on the fly. | |||||
A single element resource collection must be specified as a nested | A single element resource collection must be specified as a nested | ||||
element.</p> | element.</p> | ||||
<h4><a name="xzresource">xzresource</a></h4> | |||||
<p>This is not a stand-alone resource, but a wrapper around another | |||||
resource providing compression of the resource's contents on the fly. | |||||
A single element resource collection must be specified as a nested | |||||
element.</p> | |||||
<p>XZ compression support has been added with Apache Ant 1.10.1 and | |||||
depends on external libraries not included in the Ant distribution. | |||||
See <a href="../install.html#librarydependencies">Library | |||||
Dependencies</a> for more information.</p> | |||||
<h4><a name="url">url</a></h4> | <h4><a name="url">url</a></h4> | ||||
<p>Represents a URL.</p> | <p>Represents a URL.</p> | ||||
@@ -1018,6 +1018,12 @@ you need jakarta-oro 2.0.8 or later, and <a href="#commons-net">commons-net</a>< | |||||
<td><a href="https://jai.dev.java.net/" | <td><a href="https://jai.dev.java.net/" | ||||
target="_top">https://jai.dev.java.net/</a></td> | target="_top">https://jai.dev.java.net/</a></td> | ||||
</tr> | </tr> | ||||
<tr> | |||||
<td>XZ - XZ for Java <b>1.6 or later</b></td> | |||||
<td>xz and unxz tasks, xzresource, xz compression in tar/untar</td> | |||||
<td><a href="http://www.tukaani.org/xz/java.html" | |||||
target="_top">http://www.tukaani.org/xz/java.html</a></td> | |||||
</tr> | |||||
</table> | </table> | ||||
<br> | <br> | ||||
<h2><a name="Troubleshooting">Troubleshooting</a></h2> | <h2><a name="Troubleshooting">Troubleshooting</a></h2> | ||||
@@ -178,6 +178,7 @@ | |||||
<li><a href="Tasks/unzip.html">Unjar</a></li> | <li><a href="Tasks/unzip.html">Unjar</a></li> | ||||
<li><a href="Tasks/unzip.html">Untar</a></li> | <li><a href="Tasks/unzip.html">Untar</a></li> | ||||
<li><a href="Tasks/unzip.html">Unwar</a></li> | <li><a href="Tasks/unzip.html">Unwar</a></li> | ||||
<li><a href="Tasks/unpack.html">UnXZ</a></li> | |||||
<li><a href="Tasks/unzip.html">Unzip</a></li> | <li><a href="Tasks/unzip.html">Unzip</a></li> | ||||
<li><a href="Tasks/uptodate.html">Uptodate</a></li> | <li><a href="Tasks/uptodate.html">Uptodate</a></li> | ||||
<li><a href="Tasks/verifyjar.html">VerifyJar</a></li> | <li><a href="Tasks/verifyjar.html">VerifyJar</a></li> | ||||
@@ -188,6 +189,7 @@ | |||||
<li><a href="Tasks/wljspc.html">Weblogic JSP Compiler</a></li> | <li><a href="Tasks/wljspc.html">Weblogic JSP Compiler</a></li> | ||||
<li><a href="Tasks/xmlproperty.html">XmlProperty</a></li> | <li><a href="Tasks/xmlproperty.html">XmlProperty</a></li> | ||||
<li><a href="Tasks/xmlvalidate.html">XmlValidate</a></li> | <li><a href="Tasks/xmlvalidate.html">XmlValidate</a></li> | ||||
<li><a href="Tasks/pack.html">XZ</a></li> | |||||
<li><a href="Tasks/style.html">XSLT/<i>Style</i></a></li> | <li><a href="Tasks/style.html">XSLT/<i>Style</i></a></li> | ||||
<li><a href="Tasks/zip.html">Zip</a></li> | <li><a href="Tasks/zip.html">Zip</a></li> | ||||
</ul> | </ul> | ||||
@@ -67,13 +67,13 @@ documentation.</p> | |||||
</tr> | </tr> | ||||
<tr valign="top"> | <tr valign="top"> | ||||
<td nowrap><a href="Tasks/unpack.html">BUnzip2</a></td> | |||||
<td><p>Expands a file packed using GZip or BZip2.</p></td> | |||||
<td nowrap><a href="Tasks/unpack.html">GUnzip/BUnzip2/UnXZ</a></td> | |||||
<td><p>Expands a file packed using GZip, BZip2 or XZ.</p></td> | |||||
</tr> | </tr> | ||||
<tr valign="top"> | <tr valign="top"> | ||||
<td nowrap><a href="Tasks/pack.html">BZip2</a></td> | |||||
<td><p>Packs a file using the GZip or BZip2 algorithm. This task | |||||
<td nowrap><a href="Tasks/pack.html">GZip/BZip2/XZ</a></td> | |||||
<td><p>Packs a file using the GZip, BZip2 or XZ algorithm. This task | |||||
does not do any dependency checking; the output file is always | does not do any dependency checking; the output file is always | ||||
generated</p></td> | generated</p></td> | ||||
</tr> | </tr> | ||||
@@ -18,13 +18,13 @@ | |||||
package org.apache.tools.ant.taskdefs; | package org.apache.tools.ant.taskdefs; | ||||
import java.lang.reflect.Constructor; | |||||
import java.lang.reflect.InvocationTargetException; | |||||
import java.io.BufferedInputStream; | import java.io.BufferedInputStream; | ||||
import java.io.File; | import java.io.File; | ||||
import java.io.FileInputStream; | import java.io.FileInputStream; | ||||
import java.io.IOException; | import java.io.IOException; | ||||
import java.io.InputStream; | import java.io.InputStream; | ||||
import java.lang.reflect.Constructor; | |||||
import java.lang.reflect.InvocationTargetException; | |||||
import java.util.zip.GZIPInputStream; | import java.util.zip.GZIPInputStream; | ||||
import org.apache.tools.ant.BuildException; | import org.apache.tools.ant.BuildException; | ||||
@@ -72,6 +72,7 @@ public class Untar extends Expand { | |||||
* <li>none - no compression | * <li>none - no compression | ||||
* <li>gzip - Gzip compression | * <li>gzip - Gzip compression | ||||
* <li>bzip2 - Bzip2 compression | * <li>bzip2 - Bzip2 compression | ||||
* <li>xz - XZ compression, requires XZ for Java | |||||
* </ul> | * </ul> | ||||
* | * | ||||
* @param method compression method | * @param method compression method | ||||