diff --git a/docs/manual/CoreTasks/unzip.html b/docs/manual/CoreTasks/unzip.html index c4e55e33e..56beac1ee 100644 --- a/docs/manual/CoreTasks/unzip.html +++ b/docs/manual/CoreTasks/unzip.html @@ -14,9 +14,17 @@

PatternSets are used to select files to extract from the archive. If no patternset is used, all files are extracted.

-

FileSets may be used to select archived files -to perform unarchival upon. -

+ +

Resource +Collections may be used to select archived files to perform +unarchival upon. Only file system based resource collections are +supported by Unjar/Unwar/Unzip, this includes filesets, filelist and path. Untar supports arbitrary resource +collections. Prior to Ant 1.7 only fileset has been supported as a +nested element.

+

You can define filename transformations by using a nested mapper element. The default mapper is the identity mapper.

diff --git a/src/etc/testcases/taskdefs/untar.xml b/src/etc/testcases/taskdefs/untar.xml index e1a34cfa6..def2d8449 100644 --- a/src/etc/testcases/taskdefs/untar.xml +++ b/src/etc/testcases/taskdefs/untar.xml @@ -4,6 +4,7 @@ + @@ -44,4 +45,18 @@ + + + + + + + + + + + + + + diff --git a/src/etc/testcases/taskdefs/unzip.xml b/src/etc/testcases/taskdefs/unzip.xml index 18d2345da..536fbecc4 100644 --- a/src/etc/testcases/taskdefs/unzip.xml +++ b/src/etc/testcases/taskdefs/unzip.xml @@ -122,4 +122,16 @@ + + + + + + + + + + + + diff --git a/src/testcases/org/apache/tools/ant/taskdefs/UntarTest.java b/src/testcases/org/apache/tools/ant/taskdefs/UntarTest.java index bd9f52da7..cc366641c 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/UntarTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/UntarTest.java @@ -39,39 +39,27 @@ public class UntarTest extends BuildFileTest { } public void testRealTest() throws java.io.IOException { - executeTarget("realTest"); - assertTrue(FILE_UTILS.contentEquals(project.resolveFile("../asf-logo.gif"), - project.resolveFile("asf-logo.gif"))); + testLogoExtraction("realTest"); } public void testRealGzipTest() throws java.io.IOException { - executeTarget("realGzipTest"); - assertTrue(FILE_UTILS.contentEquals(project.resolveFile("../asf-logo.gif"), - project.resolveFile("asf-logo.gif"))); + testLogoExtraction("realGzipTest"); } public void testRealBzip2Test() throws java.io.IOException { - executeTarget("realBzip2Test"); - assertTrue(FILE_UTILS.contentEquals(project.resolveFile("../asf-logo.gif"), - project.resolveFile("asf-logo.gif"))); + testLogoExtraction("realBzip2Test"); } public void testTestTarTask() throws java.io.IOException { - executeTarget("testTarTask"); - assertTrue(FILE_UTILS.contentEquals(project.resolveFile("../asf-logo.gif"), - project.resolveFile("asf-logo.gif"))); + testLogoExtraction("testTarTask"); } public void testTestGzipTarTask() throws java.io.IOException { - executeTarget("testGzipTarTask"); - assertTrue(FILE_UTILS.contentEquals(project.resolveFile("../asf-logo.gif"), - project.resolveFile("asf-logo.gif"))); + testLogoExtraction("testGzipTarTask"); } public void testTestBzip2TarTask() throws java.io.IOException { - executeTarget("testBzip2TarTask"); - assertTrue(FILE_UTILS.contentEquals(project.resolveFile("../asf-logo.gif"), - project.resolveFile("asf-logo.gif"))); + testLogoExtraction("testBzip2TarTask"); } public void testSrcDirTest() { @@ -85,4 +73,13 @@ public class UntarTest extends BuildFileTest { + "encoding attribute"); } + public void testResourceCollection() throws java.io.IOException { + testLogoExtraction("resourceCollection"); + } + + private void testLogoExtraction(String target) throws java.io.IOException { + executeTarget(target); + assertTrue(FILE_UTILS.contentEquals(project.resolveFile("../asf-logo.gif"), + project.resolveFile("asf-logo.gif"))); + } } diff --git a/src/testcases/org/apache/tools/ant/taskdefs/UnzipTest.java b/src/testcases/org/apache/tools/ant/taskdefs/UnzipTest.java index e09c2f768..93c76948d 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/UnzipTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/UnzipTest.java @@ -173,4 +173,9 @@ public class UnzipTest extends BuildFileTest { expectBuildException("testTwoMappers",Expand.ERROR_MULTIPLE_MAPPERS); } + public void testResourceCollections() { + executeTarget("testResourceCollection"); + assertFileExists("junit.jar has been extracted", + "unziptestout/junit/framework/Assert.class"); + } }