Return-Path: X-Original-To: apmail-ant-notifications-archive@minotaur.apache.org Delivered-To: apmail-ant-notifications-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9BA01DC02 for ; Tue, 21 Aug 2012 14:50:34 +0000 (UTC) Received: (qmail 52977 invoked by uid 500); 21 Aug 2012 14:50:34 -0000 Delivered-To: apmail-ant-notifications-archive@ant.apache.org Received: (qmail 52948 invoked by uid 500); 21 Aug 2012 14:50:34 -0000 Mailing-List: contact notifications-help@ant.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ant.apache.org Delivered-To: mailing list notifications@ant.apache.org Received: (qmail 52938 invoked by uid 99); 21 Aug 2012 14:50:34 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Aug 2012 14:50:34 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Aug 2012 14:50:31 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 79CD1238897F for ; Tue, 21 Aug 2012 14:49:47 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1375585 - in /ant/ivy/core/trunk: src/java/org/apache/ivy/core/retrieve/RetrieveEngine.java test/java/org/apache/ivy/core/retrieve/RetrieveTest.java Date: Tue, 21 Aug 2012 14:49:47 -0000 To: notifications@ant.apache.org From: hibou@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120821144947.79CD1238897F@eris.apache.org> Author: hibou Date: Tue Aug 21 14:49:46 2012 New Revision: 1375585 URL: http://svn.apache.org/viewvc?rev=1375585&view=rev Log: Fix sync retrieve of uncompressed artifacts Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngine.java ant/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngine.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngine.java?rev=1375585&r1=1375584&r2=1375585&view=diff ============================================================================== --- ant/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngine.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngine.java Tue Aug 21 14:49:46 2012 @@ -185,8 +185,12 @@ public class RetrieveEngine { targetIvysStructure .addAll(FileUtil.getPathFiles(ivyRetrieveRoot, destFile)); } else { - targetArtifactsStructure.addAll(FileUtil.getPathFiles(fileRetrieveRoot, - destFile)); + Iterator destFiles = FileUtil.listAll(destFile, Collections.EMPTY_LIST) + .iterator(); + while (destFiles.hasNext()) { + targetArtifactsStructure.addAll(FileUtil.getPathFiles(fileRetrieveRoot, + (File) destFiles.next())); + } } } } Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java?rev=1375585&r1=1375584&r2=1375585&view=diff ============================================================================== --- ant/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java (original) +++ ant/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java Tue Aug 21 14:49:46 2012 @@ -334,6 +334,35 @@ public class RetrieveTest extends TestCa assertEquals(new File(dest, "META-INF/MANIFEST.MF"), jarContents[0].listFiles()[0]); } + public void testUncompressSync() throws Exception { + ResolveOptions roptions = getResolveOptions(new String[] {"*"}); + roptions.setExpandCompressed(true); + + URL url = new File("test/repositories/1/compression/module1/ivys/ivy-1.0.xml").toURI() + .toURL(); + + // normal resolve, the file goes in the cache + ResolveReport report = ivy.resolve(url, roptions); + assertFalse(report.hasError()); + ModuleDescriptor md = report.getModuleDescriptor(); + assertNotNull(md); + + String pattern = "build/test/retrieve/[organization]/[module]/[conf]/[type]s/[artifact]-[revision](.[ext])"; + + RetrieveOptions options = getRetrieveOptions(); + options.setUncompressed(true); + options.setSync(true); + ivy.retrieve(md.getModuleRevisionId(), pattern, options); + + File dest = new File("build/test/retrieve/compression/module2/default/jars/module2-1.0"); + assertTrue(dest.exists()); + assertTrue(dest.isDirectory()); + File[] jarContents = dest.listFiles(); + assertEquals(new File(dest, "META-INF"), jarContents[0]); + assertEquals(new File(dest, "test.txt"), jarContents[1]); + assertEquals(new File(dest, "META-INF/MANIFEST.MF"), jarContents[0].listFiles()[0]); + } + private RetrieveOptions getRetrieveOptions() { return new RetrieveOptions(); }