You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by hi...@apache.org on 2012/08/21 16:09:46 UTC

svn commit: r1375554 - in /ant/ivy/core/trunk: src/java/org/apache/ivy/ant/ test/java/org/apache/ivy/ant/

Author: hibou
Date: Tue Aug 21 14:09:46 2012
New Revision: 1375554

URL: http://svn.apache.org/viewvc?rev=1375554&view=rev
Log:
Add support of uncompress artifacts to the Ant tasks

Modified:
    ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyCachePath.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyPostResolveTask.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyResolve.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyRetrieve.java
    ant/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyCachePathTest.java

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyCachePath.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyCachePath.java?rev=1375554&r1=1375553&r2=1375554&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyCachePath.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyCachePath.java Tue Aug 21 14:09:46 2012
@@ -17,6 +17,7 @@
  */
 package org.apache.ivy.ant;
 
+import java.io.File;
 import java.util.Iterator;
 
 import org.apache.ivy.core.report.ArtifactDownloadReport;
@@ -63,7 +64,11 @@ public class IvyCachePath extends IvyCac
             getProject().addReference(pathid, path);
             for (Iterator iter = getArtifactReports().iterator(); iter.hasNext();) {
                 ArtifactDownloadReport a = (ArtifactDownloadReport) iter.next();
-                path.createPathElement().setLocation(a.getLocalFile());
+                File f = a.getLocalFile();
+                if (isUncompressed() && a.getUncompressedLocalDir() != null) {
+                    f = a.getUncompressedLocalDir();
+                }
+                path.createPathElement().setLocation(f);
             }
         } catch (Exception ex) {
             throw new BuildException("impossible to build ivy path: " + ex, ex);

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyPostResolveTask.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyPostResolveTask.java?rev=1375554&r1=1375553&r2=1375554&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyPostResolveTask.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyPostResolveTask.java Tue Aug 21 14:09:46 2012
@@ -76,6 +76,8 @@ public abstract class IvyPostResolveTask
     
     private boolean changing = false;
 
+    private boolean uncompressed;
+
     private IvyResolve resolve = new IvyResolve();
 
     public boolean isUseOrigin() {
@@ -94,6 +96,14 @@ public abstract class IvyPostResolveTask
         this.log = log;
     }
 
+    public boolean isUncompressed() {
+        return uncompressed;
+    }
+
+    public void setUncompressed(boolean uncompressed) {
+        this.uncompressed = uncompressed;
+    }
+
     public IvyDependency createDependency() {
         return resolve.createDependency();
     }
@@ -315,6 +325,7 @@ public abstract class IvyPostResolveTask
         resolve.setLog(getLog());
         resolve.setSettingsRef(getSettingsRef());
         resolve.setResolveMode(getResolveMode());
+        resolve.setUncompressed(uncompressed);
         return resolve;
     }
 

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyResolve.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyResolve.java?rev=1375554&r1=1375553&r2=1375554&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyResolve.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyResolve.java Tue Aug 21 14:09:46 2012
@@ -88,7 +88,9 @@ public class IvyResolve extends IvyTask 
     private String resolveId = null;
     
     private String log = ResolveOptions.LOG_DEFAULT;
-    
+
+    private boolean uncompressed = false;
+
     private boolean checkIfChanged = true; //for backward compatibility
 
     private List/* <IvyDependency> */dependencies = new ArrayList();
@@ -193,6 +195,14 @@ public class IvyResolve extends IvyTask 
         this.log = log;
     }
 
+    public boolean isUncompressed() {
+        return uncompressed;
+    }
+
+    public void setUncompressed(boolean uncompressed) {
+        this.uncompressed = uncompressed;
+    }
+
     /**
      * @deprecated Use {@link #setFailureProperty(String)} instead
      */
@@ -445,7 +455,8 @@ public class IvyResolve extends IvyTask 
                 .setTransitive(transitive)
                 .setResolveMode(resolveMode)
                 .setResolveId(resolveId)
-                .setCheckIfChanged(checkIfChanged);
+                .setCheckIfChanged(checkIfChanged)
+                .setExpandCompressed(uncompressed);
     }
 
     public String getModule() {

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyRetrieve.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyRetrieve.java?rev=1375554&r1=1375553&r2=1375554&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyRetrieve.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyRetrieve.java Tue Aug 21 14:09:46 2012
@@ -110,6 +110,7 @@ public class IvyRetrieve extends IvyPost
                             .setMakeSymlinks(symlink)
                             .setMakeSymlinksInMass(symlinkmass)
                             .setResolveId(getResolveId())
+                            .setUncompressed(isUncompressed())
                             .setMapper(mapper == null ? null : new MapperAdapter(mapper)));
 
             int targetsCopied = report.getNbrArtifactsCopied();

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyCachePathTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyCachePathTest.java?rev=1375554&r1=1375553&r2=1375554&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyCachePathTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyCachePathTest.java Tue Aug 21 14:09:46 2012
@@ -239,6 +239,19 @@ public class IvyCachePathTest extends Te
         path.execute();
     }
 
+    public void testUncompress() throws Exception {
+        project.setProperty("ivy.dep.file", "test/repositories/1/compression/module1/ivys/ivy-1.0.xml");
+        path.setPathid("testUncompress");
+        path.setUncompressed(true);
+        path.execute();
+        Object ref = project.getReference("testUncompress");
+        assertNotNull(ref);
+        assertTrue(ref instanceof Path);
+        Path p = (Path) ref;
+        assertEquals(1, p.size());
+        assertTrue(new File(p.list()[0]).isDirectory());
+    }
+
     private File getArchiveFileInCache(String organisation, String module, String revision,
             String artifact, String type, String ext) {
         return TestHelper.getArchiveFileInCache(path.getIvyInstance(), organisation,