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,