diff --git a/docs/manual/CoreTasks/unpack.html b/docs/manual/CoreTasks/unpack.html index 915a73ea9..1a7eac29f 100644 --- a/docs/manual/CoreTasks/unpack.html +++ b/docs/manual/CoreTasks/unpack.html @@ -56,6 +56,31 @@ does not exist.

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

+

Related tasks

+ +
+<gunzip src="some-archive.gz" dest="some-dest-dir"/>
+
+ +is identical to + +
+<copy todir="some-dest-dir">
+  <gzipresource>
+    <file file="some-archive.gz"/>
+  </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.

+

Copyright © 2000-2001,2004-2005 The Apache Software Foundation. All rights Reserved.

diff --git a/docs/manual/CoreTasks/unzip.html b/docs/manual/CoreTasks/unzip.html index 56beac1ee..8a8ce8173 100644 --- a/docs/manual/CoreTasks/unzip.html +++ b/docs/manual/CoreTasks/unzip.html @@ -117,6 +117,38 @@ nested element.

<mapper type="flatten"/> </unzip> + +

Related tasks

+ +
+<unzip src="some-archive" dest="some-dir"<
+  <patternset>
+    <include name="some-pattern"/>
+  </patternset>
+  <mapper type="some-mapper"/>
+</unzip>
+
+ +is identical to + +
+<copy todir="some-dir" preservelastmodified="true"<
+  <zipfileset src="some-archive">
+    <patternset>
+      <include name="some-pattern"/>
+    </patternset>
+  </zipfileset>
+  <mapper type="some-mapper"/>
+</copy>
+
+ +

The same is also true for <untar> and +<tarfileset>. <copy> offers +additional features like filtering files on the fly, +allowing a file to be mapped to multiple destinations or a +configurable file system timestamp granularity.

+

Copyright © 2000-2005 The Apache Software Foundation. All rights Reserved.

diff --git a/src/etc/testcases/taskdefs/bunzip2.xml b/src/etc/testcases/taskdefs/bunzip2.xml index c34724771..d5878bc17 100644 --- a/src/etc/testcases/taskdefs/bunzip2.xml +++ b/src/etc/testcases/taskdefs/bunzip2.xml @@ -14,4 +14,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/etc/testcases/taskdefs/gunzip.xml b/src/etc/testcases/taskdefs/gunzip.xml index 84d559892..5e3b0e972 100644 --- a/src/etc/testcases/taskdefs/gunzip.xml +++ b/src/etc/testcases/taskdefs/gunzip.xml @@ -24,4 +24,13 @@ + + + + + + + + + diff --git a/src/etc/testcases/taskdefs/untar.xml b/src/etc/testcases/taskdefs/untar.xml index def2d8449..2809b1ebb 100644 --- a/src/etc/testcases/taskdefs/untar.xml +++ b/src/etc/testcases/taskdefs/untar.xml @@ -4,6 +4,8 @@ + + @@ -59,4 +61,26 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/testcases/org/apache/tools/ant/taskdefs/BUnzip2Test.java b/src/testcases/org/apache/tools/ant/taskdefs/BUnzip2Test.java index b44ae803f..8d6dd21fe 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/BUnzip2Test.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/BUnzip2Test.java @@ -48,4 +48,11 @@ public class BUnzip2Test extends BuildFileTest { FILE_UTILS.contentEquals(project.resolveFile("expected/asf-logo-huge.tar"), project.resolveFile("asf-logo-huge.tar"))); } + + public void testDocumentationClaimsOnCopy() throws java.io.IOException { + executeTarget("testDocumentationClaimsOnCopy"); + assertTrue("File content mismatch after bunzip2", + FILE_UTILS.contentEquals(project.resolveFile("expected/asf-logo-huge.tar"), + project.resolveFile("asf-logo-huge.tar"))); + } } diff --git a/src/testcases/org/apache/tools/ant/taskdefs/GUnzipTest.java b/src/testcases/org/apache/tools/ant/taskdefs/GUnzipTest.java index 6708fc784..93ce873eb 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/GUnzipTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/GUnzipTest.java @@ -58,4 +58,9 @@ public class GUnzipTest extends BuildFileTest { project.resolveFile("asf-logo.gif"))); } + public void testDocumentationClaimsOnCopy() throws java.io.IOException { + executeTarget("testDocumentationClaimsOnCopy"); + assertTrue(FILE_UTILS.contentEquals(project.resolveFile("../asf-logo.gif"), + project.resolveFile("asf-logo.gif"))); + } } diff --git a/src/testcases/org/apache/tools/ant/taskdefs/UntarTest.java b/src/testcases/org/apache/tools/ant/taskdefs/UntarTest.java index cc366641c..eac58580d 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/UntarTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/UntarTest.java @@ -82,4 +82,10 @@ public class UntarTest extends BuildFileTest { assertTrue(FILE_UTILS.contentEquals(project.resolveFile("../asf-logo.gif"), project.resolveFile("asf-logo.gif"))); } + + public void testDocumentationClaimsOnCopy() { + executeTarget("testDocumentationClaimsOnCopy"); + assertFalse(getProject().resolveFile("untartestout/1/foo").exists()); + assertTrue(getProject().resolveFile("untartestout/2/bar").exists()); + } }