incubator-ivy-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From xav...@apache.org
Subject svn commit: r537769 - in /incubator/ivy/core/trunk: ./ src/java/org/apache/ivy/core/module/descriptor/ test/java/org/apache/ivy/core/resolve/ test/repositories/1/org2/mod2.2/ivys/ test/repositories/1/org2/mod2.3/ivys/
Date Mon, 14 May 2007 10:11:10 GMT
Author: xavier
Date: Mon May 14 03:11:09 2007
New Revision: 537769

URL: http://svn.apache.org/viewvc?view=rev&rev=537769
Log:
FIX: Bug on handling dependency artifacts when a module configuration is specified (IVY-507)

Added:
    incubator/ivy/core/trunk/test/repositories/1/org2/mod2.2/ivys/ivy-0.5.1.xml   (with props)
Modified:
    incubator/ivy/core/trunk/CHANGES.txt
    incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultDependencyDescriptor.java
    incubator/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java
    incubator/ivy/core/trunk/test/repositories/1/org2/mod2.3/ivys/ivy-0.4.xml
    incubator/ivy/core/trunk/test/repositories/1/org2/mod2.3/ivys/ivy-0.5.xml

Modified: incubator/ivy/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/CHANGES.txt?view=diff&rev=537769&r1=537768&r2=537769
==============================================================================
--- incubator/ivy/core/trunk/CHANGES.txt (original)
+++ incubator/ivy/core/trunk/CHANGES.txt Mon May 14 03:11:09 2007
@@ -51,6 +51,7 @@
 
 - IMPROVEMENT: Allow "main" parameters to be passed directly (instead of using -args flag)
(IVY-480) (thanks to Archie Cobbs)
 
+- FIX: Bug on handling dependency artifacts when a module configuration is specified (IVY-507)
 - FIX: Configure fails when having httpclient in classpath without commons-logging (IVY-502)
 - FIX: packaging data not parsed in maven 2 pom (IVY-500) (thanks to Jeffrey Blattman)
 - FIX: install ant task: requires default resolver in ivy settings (IVY-477)

Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultDependencyDescriptor.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultDependencyDescriptor.java?view=diff&rev=537769&r1=537768&r2=537769
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultDependencyDescriptor.java
(original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultDependencyDescriptor.java
Mon May 14 03:11:09 2007
@@ -107,7 +107,7 @@
                 newdd._confs.put(moduleConfs[i], new ArrayList(Arrays.asList(dd.getDependencyConfigurations(moduleConfs[i]))));
                 newdd._excludeRules.put(moduleConfs[i], new ArrayList(Arrays.asList(dd.getExcludeRules(moduleConfs[i]))));
                 newdd._includeRules.put(moduleConfs[i], new ArrayList(Arrays.asList(dd.getIncludeRules(moduleConfs[i]))));
-                newdd._dependencyArtifacts.put(moduleConfs[i], new ArrayList(Arrays.asList(dd.getIncludeRules(moduleConfs[i]))));
+                newdd._dependencyArtifacts.put(moduleConfs[i], new ArrayList(Arrays.asList(dd.getDependencyArtifacts(moduleConfs[i]))));
             }
         }
         if (fromSystem) {

Modified: incubator/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java?view=diff&rev=537769&r1=537768&r2=537769
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java (original)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java Mon May
14 03:11:09 2007
@@ -746,7 +746,27 @@
         assertTrue(!getArchiveFileInCache("org1", "mod1.3", "3.0", "mod1.3", "jar", "jar").exists());
     }
     
-    public void testResolveWithDependencyArtifactsConf1() throws Exception {
+    public void testResolveDefaultWithArtifactsAndConfMapping() throws Exception {
+        // mod2.2 depends on mod1.3 and specify its artifacts and a conf mapping
+        ResolveReport report = _ivy.resolve(new File("test/repositories/1/org2/mod2.2/ivys/ivy-0.5.1.xml").toURL(),
+        		getResolveOptions(new String[] {"myconf1"}));
+        assertNotNull(report);
+        assertFalse(report.hasError());
+        ModuleDescriptor md = report.getModuleDescriptor();
+        assertNotNull(md);
+        ModuleRevisionId mrid = ModuleRevisionId.newInstance("org2", "mod2.2", "0.5.1");
+        assertEquals(mrid, md.getModuleRevisionId());
+        
+        assertTrue(_cacheManager.getResolvedIvyFileInCache(mrid).exists());
+        
+        assertTrue(_cacheManager.getIvyFileInCache(ModuleRevisionId.newInstance("org1", "mod1.3",
"3.0")).exists());
+        assertTrue(getArchiveFileInCache("org1", "mod1.3", "3.0", "mod1.3-A", "jar", "jar").exists());
+        assertTrue(getArchiveFileInCache("org1", "mod1.3", "3.0", "mod1.3-B", "jar", "jar").exists());
+        assertTrue(!getArchiveFileInCache("org1", "mod1.3", "3.0", "mod1.3", "jar", "jar").exists());
+    }
+    
+    
+    public void testResolveWithIncludeArtifactsConf1() throws Exception {
         // mod2.3 depends on mod2.1 and selects its artifacts in myconf1
         ResolveReport report = _ivy.resolve(new File("test/repositories/1/org2/mod2.3/ivys/ivy-0.4.xml").toURL(),
         		getResolveOptions(new String[] {"myconf1"}));
@@ -764,7 +784,7 @@
         assertTrue(!getArchiveFileInCache("org2", "mod2.1", "0.3", "mod2.1", "jar", "jar").exists());
     }
     
-    public void testResolveWithDependencyArtifactsConf2() throws Exception {
+    public void testResolveWithIncludeArtifactsConf2() throws Exception {
         // mod2.3 depends on mod2.1 and selects its artifacts in myconf1
         ResolveReport report = _ivy.resolve(new File("test/repositories/1/org2/mod2.3/ivys/ivy-0.4.xml").toURL(),
         		getResolveOptions(new String[] {"myconf2"}));
@@ -782,7 +802,7 @@
         assertTrue(!getArchiveFileInCache("org2", "mod2.1", "0.3", "mod2.1", "jar", "jar").exists());
     }
     
-    public void testResolveWithDependencyArtifactsWithoutConf() throws Exception {
+    public void testResolveWithIncludeArtifactsWithoutConf() throws Exception {
         // mod2.3 depends on mod2.1 and selects its artifacts
         ResolveReport report = _ivy.resolve(new File("test/repositories/1/org2/mod2.3/ivys/ivy-0.5.xml").toURL(),
                 getResolveOptions(new String[] {"*"}));

Added: incubator/ivy/core/trunk/test/repositories/1/org2/mod2.2/ivys/ivy-0.5.1.xml
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/repositories/1/org2/mod2.2/ivys/ivy-0.5.1.xml?view=auto&rev=537769
==============================================================================
--- incubator/ivy/core/trunk/test/repositories/1/org2/mod2.2/ivys/ivy-0.5.1.xml (added)
+++ incubator/ivy/core/trunk/test/repositories/1/org2/mod2.2/ivys/ivy-0.5.1.xml Mon May 14
03:11:09 2007
@@ -0,0 +1,36 @@
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<ivy-module version="2.0">
+	<info organisation="org2"
+	       module="mod2.2"
+	       revision="0.5.1"
+	       status="integration"
+	       publication="20070514110000"
+	/>
+	<configurations>
+		<conf name="myconf1" description="desc 1"/>
+		<conf name="myconf2" description="desc 2"/>
+	</configurations>
+	<dependencies>
+		<dependency org="org1" name="mod1.3" rev="3.0" conf="myconf1,myconf2->default">
+			<artifact name="mod1.3-A" type="jar"/>
+			<artifact name="mod1.3-B" type="jar" conf="myconf1"/>
+		</dependency>
+	</dependencies>
+</ivy-module>

Propchange: incubator/ivy/core/trunk/test/repositories/1/org2/mod2.2/ivys/ivy-0.5.1.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/ivy/core/trunk/test/repositories/1/org2/mod2.3/ivys/ivy-0.4.xml
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/repositories/1/org2/mod2.3/ivys/ivy-0.4.xml?view=diff&rev=537769&r1=537768&r2=537769
==============================================================================
--- incubator/ivy/core/trunk/test/repositories/1/org2/mod2.3/ivys/ivy-0.4.xml (original)
+++ incubator/ivy/core/trunk/test/repositories/1/org2/mod2.3/ivys/ivy-0.4.xml Mon May 14 03:11:09
2007
@@ -35,7 +35,7 @@
 			     you should had conf information on the dependency itself
 			     saying you depend on mod2.1 only in myconf1:
 			     example: conf="myconf1->*" -->
-			<artifact name="art21A" type="jar" conf="myconf1"/>
+			<include name="art21A" type="jar" conf="myconf1"/>
 		</dependency>
 	</dependencies>
 </ivy-module>

Modified: incubator/ivy/core/trunk/test/repositories/1/org2/mod2.3/ivys/ivy-0.5.xml
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/repositories/1/org2/mod2.3/ivys/ivy-0.5.xml?view=diff&rev=537769&r1=537768&r2=537769
==============================================================================
--- incubator/ivy/core/trunk/test/repositories/1/org2/mod2.3/ivys/ivy-0.5.xml (original)
+++ incubator/ivy/core/trunk/test/repositories/1/org2/mod2.3/ivys/ivy-0.5.xml Mon May 14 03:11:09
2007
@@ -24,7 +24,7 @@
 	/>
 	<dependencies>
 		<dependency name="mod2.1" rev="0.3">
-			<artifact name="art21A" type="jar"/>
+			<include name="art21A" type="jar"/>
 		</dependency>
 	</dependencies>
 </ivy-module>



Mime
View raw message