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/01 19:45:56 UTC
svn commit: r760981 - in /maven/components/trunk:
maven-repository-mercury/src/main/java/org/apache/maven/repository/mercury/
maven-repository-mercury/src/test/java/org/apache/maven/repository/mercury/
maven-repository/src/main/java/org/apache/maven/re...
Author: ogusakov
Date: Wed Apr 1 17:45:55 2009
New Revision: 760981
URL: http://svn.apache.org/viewvc?rev=760981&view=rev
Log:
Mercury repo system impl does return a resolved tree as a graph. UT works
Modified:
maven/components/trunk/maven-repository-mercury/src/main/java/org/apache/maven/repository/mercury/MercuryAdaptor.java
maven/components/trunk/maven-repository-mercury/src/main/java/org/apache/maven/repository/mercury/MercuryRepositorySystem.java
maven/components/trunk/maven-repository-mercury/src/test/java/org/apache/maven/repository/mercury/MercuryRepositorySystemTest.java
maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/MetadataGraph.java
maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/MetadataResolutionRequest.java
maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java
Modified: maven/components/trunk/maven-repository-mercury/src/main/java/org/apache/maven/repository/mercury/MercuryAdaptor.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-repository-mercury/src/main/java/org/apache/maven/repository/mercury/MercuryAdaptor.java?rev=760981&r1=760980&r2=760981&view=diff
==============================================================================
--- maven/components/trunk/maven-repository-mercury/src/main/java/org/apache/maven/repository/mercury/MercuryAdaptor.java (original)
+++ maven/components/trunk/maven-repository-mercury/src/main/java/org/apache/maven/repository/mercury/MercuryAdaptor.java Wed Apr 1 17:45:55 2009
@@ -141,6 +141,18 @@
return toMavenArtifact( af, new ArtifactMetadata(name) );
}
+ public static ArtifactMetadata toMercuryArtifactMetadata( MavenArtifactMetadata md )
+ {
+ ArtifactMetadata mmd = new ArtifactMetadata();
+ mmd.setGroupId( md.getGroupId() );
+ mmd.setArtifactId( md.getArtifactId() );
+ mmd.setVersion( md.getVersion() );
+ mmd.setClassifier( md.getClassifier() );
+ mmd.setType( md.getType() );
+
+ return mmd;
+ }
+
public static MavenArtifactMetadata toMavenArtifactMetadata( ArtifactMetadata md )
{
MavenArtifactMetadata mmd = new MavenArtifactMetadata();
@@ -153,6 +165,18 @@
return mmd;
}
+ public static MavenArtifactMetadata toMavenArtifactMetadata( Artifact md )
+ {
+ MavenArtifactMetadata mmd = new MavenArtifactMetadata();
+ mmd.setGroupId( md.getGroupId() );
+ mmd.setArtifactId( md.getArtifactId() );
+ mmd.setVersion( md.getVersion() );
+ mmd.setClassifier( md.getClassifier() );
+ mmd.setType( md.getType() );
+
+ return mmd;
+ }
+
public static MetadataGraph resolvedTreeToGraph( MetadataTreeNode root )
{
if( root == null )
@@ -162,6 +186,8 @@
MetadataGraph graph = new MetadataGraph(entry);
+ graph.addNode( entry );
+
addKids( root, entry, graph );
return graph;
Modified: maven/components/trunk/maven-repository-mercury/src/main/java/org/apache/maven/repository/mercury/MercuryRepositorySystem.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-repository-mercury/src/main/java/org/apache/maven/repository/mercury/MercuryRepositorySystem.java?rev=760981&r1=760980&r2=760981&view=diff
==============================================================================
--- maven/components/trunk/maven-repository-mercury/src/main/java/org/apache/maven/repository/mercury/MercuryRepositorySystem.java (original)
+++ maven/components/trunk/maven-repository-mercury/src/main/java/org/apache/maven/repository/mercury/MercuryRepositorySystem.java Wed Apr 1 17:45:55 2009
@@ -26,11 +26,15 @@
import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.ArtifactQueryList;
+import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
import org.apache.maven.mercury.builder.api.DependencyProcessor;
import org.apache.maven.mercury.plexus.PlexusMercury;
import org.apache.maven.mercury.repository.api.Repository;
import org.apache.maven.mercury.repository.api.RepositoryException;
import org.apache.maven.mercury.util.Util;
+import org.apache.maven.repository.MetadataGraph;
import org.apache.maven.repository.MetadataResolutionRequest;
import org.apache.maven.repository.MetadataResolutionResult;
import org.apache.maven.repository.RepositorySystem;
@@ -39,6 +43,7 @@
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.lang.DefaultLanguage;
import org.codehaus.plexus.lang.Language;
+import org.omg.CORBA._PolicyStub;
/**
* @author Oleg Gusakov
@@ -131,7 +136,36 @@
public MetadataResolutionResult resolveMetadata( MetadataResolutionRequest request )
{
- MetadataResolutionResult res = null;
+ if ( request == null )
+ throw new IllegalArgumentException( LANG.getMessage( "null.request" ) );
+
+ if ( request.getArtifactMetadata() == null )
+ throw new IllegalArgumentException( LANG.getMessage( "null.request.artifact" ) );
+
+ List<Repository> repos =
+ MercuryAdaptor.toMercuryRepos( request.getLocalRepository()
+ , request.getRemoteRepostories()
+ , _dependencyProcessor
+ );
+
+ MetadataResolutionResult res = new MetadataResolutionResult();
+
+ ArtifactMetadata md = MercuryAdaptor.toMercuryArtifactMetadata( request.getArtifactMetadata() );
+
+ try
+ {
+ MetadataTreeNode root = _mercury.resolveAsTree( repos, ArtifactScopeEnum.valueOf( request.getScope() ), new ArtifactQueryList(md), null, null );
+ if( root != null )
+ {
+ MetadataGraph resTree = MercuryAdaptor.resolvedTreeToGraph( root );
+
+ res.setResolvedTree( resTree );
+ }
+ }
+ catch ( RepositoryException e )
+ {
+ res.addError( e );
+ }
return res;
}
Modified: maven/components/trunk/maven-repository-mercury/src/test/java/org/apache/maven/repository/mercury/MercuryRepositorySystemTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-repository-mercury/src/test/java/org/apache/maven/repository/mercury/MercuryRepositorySystemTest.java?rev=760981&r1=760980&r2=760981&view=diff
==============================================================================
--- maven/components/trunk/maven-repository-mercury/src/test/java/org/apache/maven/repository/mercury/MercuryRepositorySystemTest.java (original)
+++ maven/components/trunk/maven-repository-mercury/src/test/java/org/apache/maven/repository/mercury/MercuryRepositorySystemTest.java Wed Apr 1 17:45:55 2009
@@ -28,6 +28,7 @@
import org.apache.maven.mercury.artifact.ArtifactMetadata;
import org.apache.maven.repository.AbstractMavenRepositorySystemTest;
import org.apache.maven.repository.MavenArtifactMetadata;
+import org.apache.maven.repository.MetadataGraph;
import org.apache.maven.repository.MetadataResolutionRequest;
import org.apache.maven.repository.MetadataResolutionResult;
import org.apache.maven.repository.RepositorySystem;
@@ -51,7 +52,8 @@
}
- public void testRetrieve() throws IOException
+ public void testResolveTree()
+ throws IOException
{
MavenArtifactMetadata mad = MercuryAdaptor.toMavenArtifactMetadata( new ArtifactMetadata( "asm:asm-xml:3.0" ) );
@@ -60,16 +62,19 @@
request.setRemoteRepostories( _remoteRepos );
request.setArtifactMetadata( mad );
request.setAsResolvedTree( true );
+ request.setScope( "compile" );
MetadataResolutionResult res = _mrs.resolveMetadata( request );
-// assertNotNull( res );
-//
-// Set<Artifact> as = res.getArtifacts();
-//
-// assertNotNull( as );
-//
-// assertEquals( 4, as.size() );
+ assertNotNull( res );
+
+ MetadataGraph resGraph = res.getResolvedTree();
+
+ assertNotNull( resGraph );
+
+ assertNotNull( resGraph.getNodes() );
+
+ assertEquals( 4, resGraph.getNodes().size() );
//
// assertTrue( checkExists( as, "asm:asm-xml:3.0" ) );
//
Modified: maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/MetadataGraph.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/MetadataGraph.java?rev=760981&r1=760980&r2=760981&view=diff
==============================================================================
--- maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/MetadataGraph.java (original)
+++ maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/MetadataGraph.java Wed Apr 1 17:45:55 2009
@@ -62,4 +62,14 @@
return node;
}
+
+ public MetadataGraphNode getEntry()
+ {
+ return entry;
+ }
+
+ public Collection<MetadataGraphNode> getNodes()
+ {
+ return nodes;
+ }
}
Modified: maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/MetadataResolutionRequest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/MetadataResolutionRequest.java?rev=760981&r1=760980&r2=760981&view=diff
==============================================================================
--- maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/MetadataResolutionRequest.java (original)
+++ maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/MetadataResolutionRequest.java Wed Apr 1 17:45:55 2009
@@ -41,6 +41,8 @@
{
private MavenArtifactMetadata mad;
+ private String scope;
+
// Needs to go away
private Set<Artifact> artifactDependencies;
@@ -48,22 +50,9 @@
private List<ArtifactRepository> remoteRepositories;
- // Not sure what to do with this?
- // Scope
- // Lock down lists
- private ArtifactFilter filter;
-
- // Needs to go away
- private List<ResolutionListener> listeners = new ArrayList<ResolutionListener>();
-
// This is like a filter but overrides all transitive versions
private Map managedVersionMap;
- // This should not be in here, it's a component
- private ArtifactMetadataSource metadataSource;
-
- private boolean resolveRoot = true;
-
/** result type - flat list; the default */
private boolean asList = true;
@@ -87,7 +76,7 @@
this.remoteRepositories = remoteRepositories;
}
- public MavenArtifactMetadata getArtifact()
+ public MavenArtifactMetadata getArtifactMetadata()
{
return mad;
}
@@ -135,53 +124,6 @@
return this;
}
- public ArtifactFilter getFilter()
- {
- return filter;
- }
-
- public MetadataResolutionRequest setFilter( ArtifactFilter filter )
- {
- this.filter = filter;
-
- return this;
- }
-
- public List<ResolutionListener> getListeners()
- {
- return listeners;
- }
-
- public MetadataResolutionRequest setListeners( List<ResolutionListener> listeners )
- {
- this.listeners = listeners;
-
- return this;
- }
-
- public MetadataResolutionRequest addListener( ResolutionListener listener )
- {
- listeners.add( listener );
-
- return this;
- }
-
- // ------------------------------------------------------------------------
- //
- // ------------------------------------------------------------------------
-
- public ArtifactMetadataSource getMetadataSource()
- {
- return metadataSource;
- }
-
- public MetadataResolutionRequest setMetadataSource( ArtifactMetadataSource metadataSource )
- {
- this.metadataSource = metadataSource;
-
- return this;
- }
-
public Map getManagedVersionMap()
{
return managedVersionMap;
@@ -194,18 +136,6 @@
return this;
}
- public MetadataResolutionRequest setResolveRoot( boolean resolveRoot )
- {
- this.resolveRoot = resolveRoot;
-
- return this;
- }
-
- public boolean isResolveRoot()
- {
- return resolveRoot;
- }
-
public String toString()
{
StringBuffer sb = new StringBuffer()
@@ -214,7 +144,7 @@
.append( artifactDependencies ).append( "\n" )
.append( "localRepository: " ).append( localRepository ).append( "\n" )
.append( "remoteRepositories: " ).append( remoteRepositories ).append( "\n" )
- .append( "metadataSource: " ).append( metadataSource ).append( "\n" );
+ ;
return sb.toString();
}
@@ -262,4 +192,15 @@
this.asGraph = asGraph;
return this;
}
+
+ public MetadataResolutionRequest setScope( String scope )
+ {
+ this.scope = scope;
+ return this;
+ }
+
+ public String getScope()
+ {
+ return scope;
+ }
}
Modified: maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java?rev=760981&r1=760980&r2=760981&view=diff
==============================================================================
--- maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java (original)
+++ maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java Wed Apr 1 17:45:55 2009
@@ -233,13 +233,10 @@
return errorArtifactExceptions != null;
}
- public MetadataResolutionResult addErrorArtifactException( ArtifactResolutionException e )
+ public MetadataResolutionResult addError( Exception e )
{
- errorArtifactExceptions = initList( errorArtifactExceptions );
-
- errorArtifactExceptions.add( e );
-
- exceptions = initList( exceptions );
+ if( exceptions == null )
+ initList( exceptions );
exceptions.add( e );