You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-commits@incubator.apache.org by ma...@apache.org on 2007/05/30 20:39:20 UTC

svn commit: r542927 - in /incubator/ivy/core/trunk: CHANGES.txt src/java/org/apache/ivy/ant/IvyPostResolveTask.java src/java/org/apache/ivy/ant/IvyResolve.java test/java/org/apache/ivy/ant/IvyPostResolveTaskTest.java

Author: maartenc
Date: Wed May 30 13:39:19 2007
New Revision: 542927

URL: http://svn.apache.org/viewvc?view=rev&rev=542927
Log:
FIX: The deprecated "keep" attribute on post resolve tasks causes an error (IVY-517)

Modified:
    incubator/ivy/core/trunk/CHANGES.txt
    incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyPostResolveTask.java
    incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyResolve.java
    incubator/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyPostResolveTaskTest.java

Modified: incubator/ivy/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/CHANGES.txt?view=diff&rev=542927&r1=542926&r2=542927
==============================================================================
--- incubator/ivy/core/trunk/CHANGES.txt (original)
+++ incubator/ivy/core/trunk/CHANGES.txt Wed May 30 13:39:19 2007
@@ -56,6 +56,7 @@
 - IMPROVEMENT: Remove @author tags (thanks to Stephane Bailliez)
 - IMPROVEMENT: Remove use of deprecated elements in ivysettings.xml (IVY-505) (with contribution from Jan Materne)
 
+- FIX: The deprecated "keep" attribute on post resolve tasks causes an error (IVY-517)
 - FIX: Some circular dependencies not retrieved (IVY-400)
 - FIX: ${version} property not recognized in poms (IVY-512)
 - FIX: Bug on handling dependency artifacts when a module configuration is specified (IVY-507)

Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyPostResolveTask.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyPostResolveTask.java?view=diff&rev=542927&r1=542926&r2=542927
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyPostResolveTask.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyPostResolveTask.java Wed May 30 13:39:19 2007
@@ -58,6 +58,8 @@
     private Filter _artifactFilter = null;
     private boolean useOrigin = false;
     
+    private Boolean keep = null;
+    
     public boolean isUseOrigin() {
     	return useOrigin;
     }
@@ -227,6 +229,7 @@
 		resolve.setHaltonfailure(haltOnFailure);
 		resolve.setUseOrigin(useOrigin);
 		resolve.setValidate(isValidate());
+		resolve.setKeep(isKeep());
 		return resolve;
 	}
 
@@ -326,6 +329,14 @@
 	
 	public File getFile() {
 		return _file;
+	}
+	
+	public void setKeep(boolean keep) {
+		this.keep = Boolean.valueOf(keep);
+	}
+	
+	public boolean isKeep() {
+		return this.keep == null ? !isInline() : this.keep.booleanValue();
 	}
 
 }

Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyResolve.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyResolve.java?view=diff&rev=542927&r1=542926&r2=542927
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyResolve.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyResolve.java Wed May 30 13:39:19 2007
@@ -206,8 +206,10 @@
 	                getProject().setProperty("ivy.resolved.configurations", _conf);
 	                settings.setVariable("ivy.resolved.configurations", _conf);
 	            }
-	            getProject().setProperty("ivy.resolved.file", _file.getAbsolutePath());
-	            settings.setVariable("ivy.resolved.file", _file.getAbsolutePath());
+	            if (_file != null) {
+		            getProject().setProperty("ivy.resolved.file", _file.getAbsolutePath());
+		            settings.setVariable("ivy.resolved.file", _file.getAbsolutePath());
+	            }
 	            if (_resolveId != null) {
 		            getProject().setProperty("ivy.organisation." + _resolveId, md.getModuleRevisionId().getOrganisation());
 		            settings.setVariable("ivy.organisation." + _resolveId, md.getModuleRevisionId().getOrganisation());

Modified: incubator/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyPostResolveTaskTest.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyPostResolveTaskTest.java?view=diff&rev=542927&r1=542926&r2=542927
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyPostResolveTaskTest.java (original)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyPostResolveTaskTest.java Wed May 30 13:39:19 2007
@@ -159,6 +159,57 @@
     	assertTrue(getArchiveFileInCache("org1", "mod1.2", "2.0", "mod1.2", "jar", "jar").exists());
     }
 
+    public void testWithoutKeep() throws Exception {
+    	IvyResolve resolve = new IvyResolve();
+    	resolve.setProject(_project);
+    	resolve.setCache(_cache);
+    	resolve.setFile(new File("test/java/org/apache/ivy/ant/ivy-multiconf.xml"));
+    	resolve.setConf("compile");
+    	resolve.execute();
+
+    	ResolveReport reportBefore = (ResolveReport) _project.getReference("ivy.resolved.report");
+    	assertTrue(getArchiveFileInCache("org1", "mod1.1", "2.0", "mod1.1", "jar", "jar").exists());
+    	assertFalse(getArchiveFileInCache("org1", "mod1.2", "2.0", "mod1.2", "jar", "jar").exists());
+    
+    	_task.setConf("*"); // will trigger a resolve
+    	_task.setKeep(false); // don't keep the resolve results
+    	_task.execute();
+
+    	ResolveReport reportAfter = (ResolveReport) _project.getReference("ivy.resolved.report");
+    	
+    	assertSame("IvyPostResolveTask has kept the resolve report where it should have", reportBefore, reportAfter);
+    	assertTrue(getArchiveFileInCache("org1", "mod1.2", "2.0", "mod1.2", "jar", "jar").exists());
+    }
+
+    public void testInlineWithoutKeep() throws Exception {
+    	_task.setOrganisation("org1");
+    	_task.setModule("mod1.1");
+    	_task.setRevision("2.0");
+    	_task.setInline(true);
+    	_task.setConf("*"); // will trigger a resolve
+    	_task.execute();
+
+    	ResolveReport reportAfter = (ResolveReport) _project.getReference("ivy.resolved.report");
+    	
+    	assertNull("IvyPostResolveTask has kept the resolve report where it should have", reportAfter);
+    	assertTrue(getArchiveFileInCache("org1", "mod1.2", "2.1", "mod1.2", "jar", "jar").exists());
+    }
+
+    public void testInlineWithKeep() throws Exception {
+    	_task.setOrganisation("org1");
+    	_task.setModule("mod1.1");
+    	_task.setRevision("2.0");
+    	_task.setInline(true);
+    	_task.setKeep(true);
+    	_task.setConf("*"); // will trigger a resolve
+    	_task.execute();
+
+    	ResolveReport reportAfter = (ResolveReport) _project.getReference("ivy.resolved.report");
+    	
+    	assertNotNull("IvyPostResolveTask has kept the resolve report where it should have", reportAfter);
+    	assertTrue(getArchiveFileInCache("org1", "mod1.2", "2.1", "mod1.2", "jar", "jar").exists());
+    }
+
     public void testWithResolveIdAndPreviousResolveInSameBuildAndLessConfs() throws Exception {
     	IvyResolve resolve = new IvyResolve();
     	resolve.setProject(_project);