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>