You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by og...@apache.org on 2009/04/27 21:37:46 UTC
svn commit: r769124 - in /maven/mercury/trunk:
mercury-core/src/main/java/org/apache/maven/mercury/metadata/
mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/
Author: ogusakov
Date: Mon Apr 27 19:37:46 2009
New Revision: 769124
URL: http://svn.apache.org/viewvc?rev=769124&view=rev
Log:
[MERCURY-114] added IT to DependencyTreeBuilderTest to managed versions
Modified:
maven/mercury/trunk/mercury-core/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilderFactory.java
maven/mercury/trunk/mercury-core/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java
maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/DependencyTreeBuilderTest.java
Modified: maven/mercury/trunk/mercury-core/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilderFactory.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-core/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilderFactory.java?rev=769124&r1=769123&r2=769124&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-core/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilderFactory.java (original)
+++ maven/mercury/trunk/mercury-core/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilderFactory.java Mon Apr 27 19:37:46 2009
@@ -68,6 +68,8 @@
return create( dependencyModel, repositories, null, null, null, null );
}
+ // TODO: oleg: switch to request/response paradigm - too many parameters
+ //
public static final DependencyBuilder create(
String dependencyModel
, Collection<Repository> repositories
Modified: maven/mercury/trunk/mercury-core/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-core/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java?rev=769124&r1=769123&r2=769124&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-core/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java (original)
+++ maven/mercury/trunk/mercury-core/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java Mon Apr 27 19:37:46 2009
@@ -90,7 +90,7 @@
private boolean _allowCircularDependencies = Boolean.parseBoolean( System.getProperty( SYSTEM_PROPERTY_ALLOW_CIRCULAR_DEPENDENCIES, "false" ) );
- /** mandated versions in the format G:A -> V */
+ /** mandated versions in the format G:A:T[:C] -> V */
private Map<String, ArtifactMetadata> _versionMap;
class TruckLoad
Modified: maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/DependencyTreeBuilderTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/DependencyTreeBuilderTest.java?rev=769124&r1=769123&r2=769124&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/DependencyTreeBuilderTest.java (original)
+++ maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/DependencyTreeBuilderTest.java Mon Apr 27 19:37:46 2009
@@ -21,6 +21,7 @@
import java.io.File;
import java.net.URL;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeSet;
@@ -314,5 +315,62 @@
}
//----------------------------------------------------------------------------------------------
+ // modify the resolution by demanding plexus-util:1.5.8, by default clean plugin 2.2 depends on plexus-util:1.1
+ public void testManagedVersionMap()
+ throws Exception
+ {
+ String centralUrl = "http://repo1.maven.org/maven2";
+
+ String artifactId = "org.apache.maven.plugins:maven-clean-plugin:2.2";
+
+ reps.clear();
+
+ File versionMapRepo = new File( "./target/repoVersionMap" );
+ localRepo = new LocalRepositoryM2( "testVersionMap", versionMapRepo, new MavenDependencyProcessor() );
+ reps.add( localRepo );
+
+ Server server = new Server( "id", new URL(centralUrl) );
+ remoteRepo = new RemoteRepositoryM2(server, new MavenDependencyProcessor());
+ remoteRepo.setUpdatePolicy( RepositoryUpdateIntervalPolicy.UPDATE_POLICY_NEVER );
+ reps.add( remoteRepo );
+
+ ArtifactMetadata modifiedDep = new ArtifactMetadata("org.codehaus.plexus:plexus-utils:1.5.8");
+ Map<String, ArtifactMetadata> versionMap = new HashMap<String, ArtifactMetadata>(1);
+ String key = modifiedDep.toManagementString();
+ versionMap.put( key, modifiedDep );
+
+ Map<String,Object> config = new HashMap<String, Object>(1);
+ config.put( DependencyBuilder.CONFIGURATION_PROPERTY_VERSION_MAP, versionMap );
+
+ depBuilder = DependencyBuilderFactory.create( DependencyBuilderFactory.JAVA_DEPENDENCY_MODEL, reps, null, null, null, config );
+// depBuilder.register( new DumbListener() );
+
+ ArtifactMetadata md = new ArtifactMetadata( artifactId );
+
+ MetadataTreeNode root = depBuilder.buildTree( md, ArtifactScopeEnum.compile );
+
+ assertNotNull( "null tree built", root );
+
+// assertTrue( "wrong tree size, expected gte 4", 4 <= root.countNodes() );
+
+ List<ArtifactMetadata> res = depBuilder.resolveConflicts( root );
+
+ assertNotNull( res );
+
+ assertTrue( res.size() > 1 );
+
+ showClasspath( res );
+
+ for( ArtifactMetadata am : res )
+ {
+ if(
+ "org.codehaus.plexus".equals( am.getGroupId() )
+ &&
+ "plexus-utils".equals( am.getArtifactId() )
+ )
+ assertEquals( "1.5.8", am.getVersion() );
+ }
+ }
+ //----------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------
}
\ No newline at end of file