You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by ma...@apache.org on 2009/01/14 22:22:02 UTC
svn commit: r734517 - in /ant/ivy/core/trunk: ./
src/java/org/apache/ivy/core/settings/
src/java/org/apache/ivy/plugins/conflict/
test/java/org/apache/ivy/core/resolve/ test/repositories/IVY-999/
test/repositories/IVY-999/junit/ test/repositories/IVY-9...
Author: maartenc
Date: Wed Jan 14 13:22:01 2009
New Revision: 734517
URL: http://svn.apache.org/viewvc?rev=734517&view=rev
Log:
FIX: Ivy deliver fails to replace dynamic revision (IVY-999) (thanks to Martin Eigenbrodt)
Added:
ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ivy-999.xml (with props)
ant/ivy/core/trunk/test/repositories/IVY-999/
ant/ivy/core/trunk/test/repositories/IVY-999/ivysettings.xml (with props)
ant/ivy/core/trunk/test/repositories/IVY-999/junit/
ant/ivy/core/trunk/test/repositories/IVY-999/junit/junit/
ant/ivy/core/trunk/test/repositories/IVY-999/junit/junit/ivy-3.8.xml (with props)
ant/ivy/core/trunk/test/repositories/IVY-999/junit/junit/ivy-4.4.xml (with props)
ant/ivy/core/trunk/test/repositories/IVY-999/test/
ant/ivy/core/trunk/test/repositories/IVY-999/test/a/
ant/ivy/core/trunk/test/repositories/IVY-999/test/a/ivy-1.xml (with props)
ant/ivy/core/trunk/test/repositories/IVY-999/test/b/
ant/ivy/core/trunk/test/repositories/IVY-999/test/b/ivy-1.5.xml (with props)
Modified:
ant/ivy/core/trunk/CHANGES.txt
ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/conflict/LatestConflictManager.java
ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java
Modified: ant/ivy/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=734517&r1=734516&r2=734517&view=diff
==============================================================================
--- ant/ivy/core/trunk/CHANGES.txt (original)
+++ ant/ivy/core/trunk/CHANGES.txt Wed Jan 14 13:22:01 2009
@@ -27,6 +27,7 @@
Kristian Cibulskis
Andrea Bernardo Ciddio
Archie Cobbs
+ Martin Eigenbrodt
Danno Ferrin
Benjamin Francisoud
Jacob Grydholt Jensen
@@ -89,6 +90,7 @@
- FIX: Listing of URL's under a given URL does not handle fully specified URL's (IVY-959) (thanks to Randy Nott)
- FIX: <ivy:buildnumber> returns wrong result when resolve fails (IVY-970)
- FIX: listing possible token values doesn't work properly for the ibiblio resolver
+- FIX: Ivy deliver fails to replace dynamic revision (IVY-999) (thanks to Martin Eigenbrodt)
2.0.0
=====================================
Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java?rev=734517&r1=734516&r2=734517&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java Wed Jan 14 13:22:01 2009
@@ -1169,6 +1169,7 @@
public ConflictManager getDefaultConflictManager() {
if (defaultConflictManager == null) {
defaultConflictManager = new LatestConflictManager(getDefaultLatestStrategy());
+ ((LatestConflictManager) defaultConflictManager).setSettings(this);
}
return defaultConflictManager;
}
Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/conflict/LatestConflictManager.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/conflict/LatestConflictManager.java?rev=734517&r1=734516&r2=734517&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/conflict/LatestConflictManager.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/conflict/LatestConflictManager.java Wed Jan 14 13:22:01 2009
@@ -24,6 +24,7 @@
import java.util.List;
import org.apache.ivy.core.module.descriptor.DependencyDescriptor;
+import org.apache.ivy.core.module.id.ModuleRevisionId;
import org.apache.ivy.core.resolve.IvyNode;
import org.apache.ivy.plugins.latest.ArtifactInfo;
import org.apache.ivy.plugins.latest.LatestStrategy;
@@ -89,6 +90,20 @@
return Collections.singleton(node);
}
}
+
+ /*
+ * If the list of conflicts contains dynamic revisions, delay the conflict
+ * calculation until they are resolved.
+ * TODO: we probably could already evict some of the dynamic revisions!
+ */
+ for (Iterator iter = conflicts.iterator(); iter.hasNext();) {
+ IvyNode node = (IvyNode) iter.next();
+ ModuleRevisionId modRev = node.getResolvedId();
+ if (getSettings().getVersionMatcher().isDynamic(modRev)) {
+ return null;
+ }
+ }
+
try {
IvyNodeArtifactInfo latest = (IvyNodeArtifactInfo)
getStrategy().findLatest(toArtifactInfo(conflicts), null);
Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java?rev=734517&r1=734516&r2=734517&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java Wed Jan 14 13:22:01 2009
@@ -18,6 +18,7 @@
package org.apache.ivy.core.resolve;
import java.io.File;
+import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -25,8 +26,10 @@
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
import java.util.Set;
import javax.xml.parsers.SAXParser;
@@ -3088,6 +3091,19 @@
.exists());
}
+ public void testIVY999() throws Exception {
+ Ivy ivy = new Ivy();
+ ivy.configure(new File("test/repositories/ivy-999/ivysettings.xml"));
+ ivy.getSettings().setDefaultCache(cache);
+
+ ResolveReport rr = ivy.resolve(ResolveTest.class.getResource("ivy-999.xml"), getResolveOptions(new String[] {"*"}));
+ ConfigurationResolveReport crr = rr.getConfigurationReport("default");
+ Set modRevIds = crr.getModuleRevisionIds();
+
+ assertTrue(modRevIds.contains(ModuleRevisionId.newInstance("junit", "junit", "4.4")));
+ assertFalse(modRevIds.contains(ModuleRevisionId.newInstance("junit", "junit", "3.8")));
+ }
+
public void testBadFiles() throws Exception {
Ivy ivy = new Ivy();
ivy.configure(new File("test/repositories/badfile/ivysettings.xml"));
Added: ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ivy-999.xml
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ivy-999.xml?rev=734517&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ivy-999.xml (added)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ivy-999.xml Wed Jan 14 13:22:01 2009
@@ -0,0 +1,26 @@
+<!--
+ 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="1.0">
+ <info organisation="apache" module="IVY-999" revision="1.0"/>
+ <dependencies>
+ <dependency org="test" name="a" rev="latest.integration"/>
+ <dependency org="test" name="b" rev="latest.integration"/>
+ <dependency org="junit" name="junit" rev="latest.integration"/>
+ </dependencies>
+</ivy-module>
Propchange: ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ivy-999.xml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: ant/ivy/core/trunk/test/repositories/IVY-999/ivysettings.xml
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/IVY-999/ivysettings.xml?rev=734517&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/repositories/IVY-999/ivysettings.xml (added)
+++ ant/ivy/core/trunk/test/repositories/IVY-999/ivysettings.xml Wed Jan 14 13:22:01 2009
@@ -0,0 +1,27 @@
+<!--
+ 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.
+-->
+<ivysettings>
+ <settings defaultResolver="local" />
+ <resolvers>
+ <filesystem name="local" >
+ <ivy pattern="${ivy.settings.dir}/[organisation]/[module]/ivy-[revision].xml"/>
+ <artifact pattern="${ivy.settings.dir}/[organisation]/[module]/[artifact]-[revision].[ext]"/>
+ </filesystem>
+ </resolvers>
+</ivysettings>
Propchange: ant/ivy/core/trunk/test/repositories/IVY-999/ivysettings.xml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: ant/ivy/core/trunk/test/repositories/IVY-999/junit/junit/ivy-3.8.xml
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/IVY-999/junit/junit/ivy-3.8.xml?rev=734517&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/repositories/IVY-999/junit/junit/ivy-3.8.xml (added)
+++ ant/ivy/core/trunk/test/repositories/IVY-999/junit/junit/ivy-3.8.xml Wed Jan 14 13:22:01 2009
@@ -0,0 +1,22 @@
+<!--
+ 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="1.0">
+ <info organisation="junit" module="junit" revision="3.8" status="integration" publication="20090108103716"/>
+ <publications/>
+</ivy-module>
Propchange: ant/ivy/core/trunk/test/repositories/IVY-999/junit/junit/ivy-3.8.xml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: ant/ivy/core/trunk/test/repositories/IVY-999/junit/junit/ivy-4.4.xml
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/IVY-999/junit/junit/ivy-4.4.xml?rev=734517&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/repositories/IVY-999/junit/junit/ivy-4.4.xml (added)
+++ ant/ivy/core/trunk/test/repositories/IVY-999/junit/junit/ivy-4.4.xml Wed Jan 14 13:22:01 2009
@@ -0,0 +1,22 @@
+<!--
+ 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="1.0">
+ <info organisation="junit" module="junit" revision="4.4" status="integration" publication="20090108103715"/>
+ <publications/>
+</ivy-module>
Propchange: ant/ivy/core/trunk/test/repositories/IVY-999/junit/junit/ivy-4.4.xml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: ant/ivy/core/trunk/test/repositories/IVY-999/test/a/ivy-1.xml
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/IVY-999/test/a/ivy-1.xml?rev=734517&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/repositories/IVY-999/test/a/ivy-1.xml (added)
+++ ant/ivy/core/trunk/test/repositories/IVY-999/test/a/ivy-1.xml Wed Jan 14 13:22:01 2009
@@ -0,0 +1,25 @@
+<!--
+ 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="1.4">
+ <info organisation="test" module="a" revision="1" status="integration" publication="20090108103716"/>
+ <publications/>
+ <dependencies>
+ <dependency org="junit" name="junit" rev="4.4"/>
+ </dependencies>
+</ivy-module>
Propchange: ant/ivy/core/trunk/test/repositories/IVY-999/test/a/ivy-1.xml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: ant/ivy/core/trunk/test/repositories/IVY-999/test/b/ivy-1.5.xml
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/IVY-999/test/b/ivy-1.5.xml?rev=734517&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/repositories/IVY-999/test/b/ivy-1.5.xml (added)
+++ ant/ivy/core/trunk/test/repositories/IVY-999/test/b/ivy-1.5.xml Wed Jan 14 13:22:01 2009
@@ -0,0 +1,26 @@
+<!--
+ 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="1.0">
+ <info organisation="test" module="b" revision="1.5" status="integration" publication="20090108103716"/>
+ <!-- uispec4j -->
+ <publications/>
+ <dependencies>
+ <dependency org="junit" name="junit" rev="3.8+" conf="default"/>
+ </dependencies>
+</ivy-module>
Propchange: ant/ivy/core/trunk/test/repositories/IVY-999/test/b/ivy-1.5.xml
------------------------------------------------------------------------------
svn:mime-type = text/plain