Author: bodewig
Date: Mon Aug 31 03:25:44 2009
New Revision: 809455

URL: http://svn.apache.org/viewvc?rev=809455&view=rev
Log:
Make non-File dests as nested elements work, with tests

Modified:
    
ant/sandbox/antlibs/compress/trunk/src/main/org/apache/ant/compress/taskdefs/ArchiveBase.java
    ant/sandbox/antlibs/compress/trunk/src/tests/antunit/ar-test.xml
    ant/sandbox/antlibs/compress/trunk/src/tests/antunit/cpio-test.xml
    ant/sandbox/antlibs/compress/trunk/src/tests/antunit/tar-test.xml
    ant/sandbox/antlibs/compress/trunk/src/tests/antunit/zip-test.xml

Modified: 
ant/sandbox/antlibs/compress/trunk/src/main/org/apache/ant/compress/taskdefs/ArchiveBase.java
URL: 
http://svn.apache.org/viewvc/ant/sandbox/antlibs/compress/trunk/src/main/org/apache/ant/compress/taskdefs/ArchiveBase.java?rev=809455&r1=809454&r2=809455&view=diff
==============================================================================
--- 
ant/sandbox/antlibs/compress/trunk/src/main/org/apache/ant/compress/taskdefs/ArchiveBase.java
 (original)
+++ 
ant/sandbox/antlibs/compress/trunk/src/main/org/apache/ant/compress/taskdefs/ArchiveBase.java
 Mon Aug 31 03:25:44 2009
@@ -58,6 +58,7 @@
 import org.apache.tools.ant.types.ResourceCollection;
 import org.apache.tools.ant.types.resources.ArchiveResource;
 import org.apache.tools.ant.types.resources.FileResource;
+import org.apache.tools.ant.types.resources.Resources;
 import org.apache.tools.ant.util.FileUtils;
 import org.apache.tools.zip.UnixStat;
 
@@ -95,13 +96,22 @@
      * The archive to create.
      */
     public void setDestfile(File f) {
-        addDest(new FileResource(f));
+        setDest(new FileResource(f));
     }
 
     /**
      * The archive to create.
      */
-    public void addDest(Resource r) {
+    public void addConfiguredDest(Resources r) {
+        for (Iterator it = r.iterator(); it.hasNext(); ) {
+            setDest((Resource) it.next());
+        }
+    }
+
+    /**
+     * The archive to create.
+     */
+    public void setDest(Resource r) {
         if (dest != null) {
             throw new BuildException("Can only have one destination resource"
                                      + " for archive.");

Modified: ant/sandbox/antlibs/compress/trunk/src/tests/antunit/ar-test.xml
URL: 
http://svn.apache.org/viewvc/ant/sandbox/antlibs/compress/trunk/src/tests/antunit/ar-test.xml?rev=809455&r1=809454&r2=809455&view=diff
==============================================================================
--- ant/sandbox/antlibs/compress/trunk/src/tests/antunit/ar-test.xml (original)
+++ ant/sandbox/antlibs/compress/trunk/src/tests/antunit/ar-test.xml Mon Aug 31 
03:25:44 2009
@@ -371,4 +371,22 @@
                           level="warn"/>
     <au:assertFileDoesntExist file="${dest}"/>
   </target>
+
+  <target name="testNonFileDest" depends="setUp">
+    <cmp:ar>
+      <fileset dir="." includes="ar-test.xml"/>
+      <dest>
+        <gzipresource>
+          <file file="${dest}.gz"/>
+        </gzipresource>
+      </dest>
+    </cmp:ar>
+    <au:assertFileExists file="${dest}.gz"/>
+    <au:assertFileDoesntExist file="${dest}"/>
+    <gunzip src="${dest}.gz" dest="${dest}"/>
+    <cmp:unar src="${dest}" dest="${output}"/>
+    <au:assertFilesMatch expected="ar-test.xml"
+                         actual="${output}/ar-test.xml"/>
+  </target>
+
 </project>

Modified: ant/sandbox/antlibs/compress/trunk/src/tests/antunit/cpio-test.xml
URL: 
http://svn.apache.org/viewvc/ant/sandbox/antlibs/compress/trunk/src/tests/antunit/cpio-test.xml?rev=809455&r1=809454&r2=809455&view=diff
==============================================================================
--- ant/sandbox/antlibs/compress/trunk/src/tests/antunit/cpio-test.xml 
(original)
+++ ant/sandbox/antlibs/compress/trunk/src/tests/antunit/cpio-test.xml Mon Aug 
31 03:25:44 2009
@@ -404,4 +404,22 @@
                           level="warn"/>
     <au:assertFileDoesntExist file="${dest}"/>
   </target>
+
+  <target name="testNonFileDest" depends="setUp">
+    <cmp:cpio>
+      <fileset dir="." includes="ar-test.xml"/>
+      <dest>
+        <gzipresource>
+          <file file="${dest}.gz"/>
+        </gzipresource>
+      </dest>
+    </cmp:cpio>
+    <au:assertFileExists file="${dest}.gz"/>
+    <au:assertFileDoesntExist file="${dest}"/>
+    <gunzip src="${dest}.gz" dest="${dest}"/>
+    <cmp:uncpio src="${dest}" dest="${output}"/>
+    <au:assertFilesMatch expected="ar-test.xml"
+                         actual="${output}/ar-test.xml"/>
+  </target>
+
 </project>

Modified: ant/sandbox/antlibs/compress/trunk/src/tests/antunit/tar-test.xml
URL: 
http://svn.apache.org/viewvc/ant/sandbox/antlibs/compress/trunk/src/tests/antunit/tar-test.xml?rev=809455&r1=809454&r2=809455&view=diff
==============================================================================
--- ant/sandbox/antlibs/compress/trunk/src/tests/antunit/tar-test.xml (original)
+++ ant/sandbox/antlibs/compress/trunk/src/tests/antunit/tar-test.xml Mon Aug 
31 03:25:44 2009
@@ -421,4 +421,21 @@
                           level="warn"/>
     <au:assertFileDoesntExist file="${dest}"/>
   </target>
+
+  <target name="testNonFileDest" depends="setUp">
+    <cmp:tar>
+      <fileset dir="." includes="ar-test.xml"/>
+      <dest>
+        <gzipresource>
+          <file file="${dest}.gz"/>
+        </gzipresource>
+      </dest>
+    </cmp:tar>
+    <au:assertFileExists file="${dest}.gz"/>
+    <au:assertFileDoesntExist file="${dest}"/>
+    <gunzip src="${dest}.gz" dest="${dest}"/>
+    <untar src="${dest}" dest="${output}"/>
+    <au:assertFilesMatch expected="ar-test.xml"
+                         actual="${output}/ar-test.xml"/>
+  </target>
 </project>

Modified: ant/sandbox/antlibs/compress/trunk/src/tests/antunit/zip-test.xml
URL: 
http://svn.apache.org/viewvc/ant/sandbox/antlibs/compress/trunk/src/tests/antunit/zip-test.xml?rev=809455&r1=809454&r2=809455&view=diff
==============================================================================
--- ant/sandbox/antlibs/compress/trunk/src/tests/antunit/zip-test.xml (original)
+++ ant/sandbox/antlibs/compress/trunk/src/tests/antunit/zip-test.xml Mon Aug 
31 03:25:44 2009
@@ -429,4 +429,21 @@
                           level="warn"/>
     <au:assertFileDoesntExist file="${dest}"/>
   </target>
+
+  <target name="testNonFileDest" depends="setUp">
+    <cmp:zip>
+      <fileset dir="." includes="ar-test.xml"/>
+      <dest>
+        <gzipresource>
+          <file file="${dest}.gz"/>
+        </gzipresource>
+      </dest>
+    </cmp:zip>
+    <au:assertFileExists file="${dest}.gz"/>
+    <au:assertFileDoesntExist file="${dest}"/>
+    <gunzip src="${dest}.gz" dest="${dest}"/>
+    <unzip src="${dest}" dest="${output}"/>
+    <au:assertFilesMatch expected="ar-test.xml"
+                         actual="${output}/ar-test.xml"/>
+  </target>
 </project>


Reply via email to