ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From maart...@apache.org
Subject svn commit: r1399811 - in /ant/ivy/core/branches/2.3.x: ./ CHANGES.txt src/java/org/apache/ivy/plugins/resolver/IBiblioResolver.java test/java/org/apache/ivy/core/resolve/ResolveTest.java
Date Thu, 18 Oct 2012 19:32:09 GMT
Author: maartenc
Date: Thu Oct 18 19:32:08 2012
New Revision: 1399811

URL: http://svn.apache.org/viewvc?rev=1399811&view=rev
Log:
Merged changes for IVY-1036 from trunk.

Modified:
    ant/ivy/core/branches/2.3.x/   (props changed)
    ant/ivy/core/branches/2.3.x/CHANGES.txt
    ant/ivy/core/branches/2.3.x/src/java/org/apache/ivy/plugins/resolver/IBiblioResolver.java
    ant/ivy/core/branches/2.3.x/test/java/org/apache/ivy/core/resolve/ResolveTest.java

Propchange: ant/ivy/core/branches/2.3.x/
------------------------------------------------------------------------------
  Merged /ant/ivy/core/trunk:r1398531-1399805

Modified: ant/ivy/core/branches/2.3.x/CHANGES.txt
URL: http://svn.apache.org/viewvc/ant/ivy/core/branches/2.3.x/CHANGES.txt?rev=1399811&r1=1399810&r2=1399811&view=diff
==============================================================================
--- ant/ivy/core/branches/2.3.x/CHANGES.txt (original)
+++ ant/ivy/core/branches/2.3.x/CHANGES.txt Thu Oct 18 19:32:08 2012
@@ -130,6 +130,7 @@ for detailed view of each issue, please 
 	
    2.3.x
 =====================================
+- FIX: latest.integration isn't resolved against a Maven snapshot repository (when uniqueVersion
= true) (IVY-1036)
 - FIX: Resolve does not deliver all dependent artifacts (IVY-1366) (thanks to Wolfgang Frank)
 - FIX: Ivy descriptors are merged incorrectly when there is an <exclude> element (IVY-1356)
 - FIX: SimpleDateFormat is not thread safe (IVY-1373)

Modified: ant/ivy/core/branches/2.3.x/src/java/org/apache/ivy/plugins/resolver/IBiblioResolver.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/branches/2.3.x/src/java/org/apache/ivy/plugins/resolver/IBiblioResolver.java?rev=1399811&r1=1399810&r2=1399811&view=diff
==============================================================================
--- ant/ivy/core/branches/2.3.x/src/java/org/apache/ivy/plugins/resolver/IBiblioResolver.java
(original)
+++ ant/ivy/core/branches/2.3.x/src/java/org/apache/ivy/plugins/resolver/IBiblioResolver.java
Thu Oct 18 19:32:08 2012
@@ -399,8 +399,15 @@ public class IBiblioResolver extends URL
                 List rres = new ArrayList();
                 for (Iterator iter = revs.iterator(); iter.hasNext();) {
                     String rev = (String) iter.next();
+                    ModuleRevisionId historicalMrid = ModuleRevisionId.newInstance(mrid,
rev);
+                    if (rev.endsWith("SNAPSHOT")) {
+                        String snapshotVersion = findSnapshotVersion(historicalMrid);
+                        if (snapshotVersion != null) {
+                            pattern = pattern.replaceFirst("\\-\\[revision\\]", "-" + snapshotVersion);
+                        }
+                    }
                     String resolvedPattern = IvyPatternHelper.substitute(
-                        pattern, ModuleRevisionId.newInstance(mrid, rev), artifact);
+                        pattern, historicalMrid, artifact);
                     try {
                         Resource res = repository.getResource(resolvedPattern);
                         if ((res != null) && res.exists()) {

Modified: ant/ivy/core/branches/2.3.x/test/java/org/apache/ivy/core/resolve/ResolveTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/branches/2.3.x/test/java/org/apache/ivy/core/resolve/ResolveTest.java?rev=1399811&r1=1399810&r2=1399811&view=diff
==============================================================================
--- ant/ivy/core/branches/2.3.x/test/java/org/apache/ivy/core/resolve/ResolveTest.java (original)
+++ ant/ivy/core/branches/2.3.x/test/java/org/apache/ivy/core/resolve/ResolveTest.java Thu
Oct 18 19:32:08 2012
@@ -4602,6 +4602,26 @@ public class ResolveTest extends TestCas
             "test-SNAPSHOT1", "jar", "jar").exists());
     }
 
+    public void testResolveMaven2Snapshot1AsLatestIntegration() throws Exception {
+        // test case for IVY-1036
+        // here we test maven SNAPSHOT versions handling, 
+        // with m2 snapshotRepository/uniqueVersion set to true
+        // but retrieving by latest.integration
+        Ivy ivy = new Ivy();
+        ivy.configure(new File("test/repositories/m2/ivysettings.xml"));
+        ResolveReport report = ivy.resolve(
+            ModuleRevisionId.newInstance("org.apache", "test-SNAPSHOT1", "latest.integration"),
+            getResolveOptions(new String[] {"*(public)"}), true);
+        assertNotNull(report);
+        assertFalse(report.hasError());
+
+        // dependencies
+        assertTrue(getIvyFileInCache(
+            ModuleRevisionId.newInstance("org.apache", "test-SNAPSHOT1", "2.0.2-SNAPSHOT")).exists());
+        assertTrue(getArchiveFileInCache(ivy, "org.apache", "test-SNAPSHOT1", "2.0.2-SNAPSHOT",
+            "test-SNAPSHOT1", "jar", "jar").exists());
+    }
+
     public void testResolveMaven2Snapshot2() throws Exception {
         // test case for IVY-501
         // here we test maven SNAPSHOT versions handling, 
@@ -4621,6 +4641,26 @@ public class ResolveTest extends TestCas
             "test-SNAPSHOT2", "jar", "jar").exists());
     }
 
+    public void testResolveMaven2Snapshot2AsLatestIntegration() throws Exception {
+        // test case for IVY-1036
+        // here we test maven SNAPSHOT versions handling, 
+        // with m2 snapshotRepository/uniqueVersion set to true
+        // but retrieving by latest.integration
+        Ivy ivy = new Ivy();
+        ivy.configure(new File("test/repositories/m2/ivysettings.xml"));
+        ResolveReport report = ivy.resolve(
+            ModuleRevisionId.newInstance("org.apache", "test-SNAPSHOT2", "latest.integration"),
+            getResolveOptions(new String[] { "*(public)" }), true);
+        assertNotNull(report);
+        assertFalse(report.hasError());
+
+        // dependencies
+        assertTrue(getIvyFileInCache(
+            ModuleRevisionId.newInstance("org.apache", "test-SNAPSHOT2", "2.0.2-SNAPSHOT"))
+                .exists());
+        assertTrue(getArchiveFileInCache(ivy, "org.apache", "test-SNAPSHOT2", "2.0.2-SNAPSHOT",
+            "test-SNAPSHOT2", "jar", "jar").exists());
+    }
 
     public void testNamespaceMapping() throws Exception {
         // the dependency is in another namespace



Mime
View raw message