You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by vs...@apache.org on 2008/04/27 13:58:07 UTC
svn commit: r651930 - in /maven/artifact/trunk/src:
main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java
Author: vsiveton
Date: Sun Apr 27 04:58:06 2008
New Revision: 651930
URL: http://svn.apache.org/viewvc?rev=651930&view=rev
Log:
o merged of r647445 r647446 r651929
Modified:
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java
Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java?rev=651930&r1=651929&r2=651930&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java Sun Apr 27 04:58:06 2008
@@ -480,24 +480,28 @@
artifact.setAvailableVersions( versions );
}
+ Collections.sort( versions );
+
VersionRange versionRange = artifact.getVersionRange();
version = versionRange.matchVersion( versions );
if ( version == null )
{
+ // Getting the dependency trail so it can be logged in the exception
+ artifact.setDependencyTrail( node.getDependencyTrail() );
+
if ( versions.isEmpty() )
{
throw new OverConstrainedVersionException(
"No versions are present in the repository for the artifact with a range " +
versionRange, artifact, remoteRepositories );
}
- else
- {
- throw new OverConstrainedVersionException( "Couldn't find a version in " +
- versions + " to match range " + versionRange, artifact,
- remoteRepositories );
- }
+
+
+ throw new OverConstrainedVersionException( "Couldn't find a version in " +
+ versions + " to match range " + versionRange, artifact,
+ remoteRepositories );
}
}
else
Modified: maven/artifact/trunk/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java?rev=651930&r1=651929&r2=651930&view=diff
==============================================================================
--- maven/artifact/trunk/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java (original)
+++ maven/artifact/trunk/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java Sun Apr 27 04:58:06 2008
@@ -41,6 +41,7 @@
import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
+import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
import org.apache.maven.artifact.versioning.VersionRange;
import org.codehaus.plexus.PlexusTestCase;
@@ -339,7 +340,7 @@
ArtifactResolutionResult res = collect( a );
- assertTrue( res.hasVersionRangeViolations() );
+ assertTrue( res.hasVersionRangeViolations() );
}
public void testUnboundedRangeBelowLastRelease()
@@ -686,6 +687,29 @@
assertTrue( e.getMessage().indexOf( "[1.0-SNAPSHOT]" ) < e.getMessage().indexOf( "[1.0,)" ) );
}
*/
+ }
+
+ public void testOverConstrainedVersionException()
+ throws ArtifactResolutionException, InvalidVersionSpecificationException
+ {
+ ArtifactSpec a = createArtifactSpec( "a", "1.0" );
+ a.addDependency( "b", "[1.0, 2.0)" );
+ a.addDependency( "c", "[3.3.0,4.0.0)" );
+
+ ArtifactSpec b = createArtifactSpec( "b", "1.0.0" );
+ b.addDependency( "c", "3.3.0-v3346" );
+
+ ArtifactSpec c = createArtifactSpec( "c", "3.2.1-v3235e" );
+
+ try
+ {
+ ArtifactResolutionResult res = collect( createSet( new Object[]{a.artifact} ) );
+ }
+ catch ( OverConstrainedVersionException e )
+ {
+ assertTrue( "Versions unordered", e.getMessage().indexOf( "[3.2.1-v3235e, 3.3.0-v3346]" ) != -1);
+ assertTrue( "DependencyTrail unresolved", e.getMessage().indexOf( "Path to dependency:" ) != -1);
+ }
}
private Artifact getArtifact( String id, Set artifacts )