Author: jvanzyl
Date: Wed Feb 25 00:04:51 2009
New Revision: 747618

URL: http://svn.apache.org/viewvc?rev=747618&view=rev
Log:
o create a test repository system that has the "special" retrieve method. i'll 
turn this into a proper test but this                       
  exposed a bug in the plexus test metadata generation -- the production 
component along with the test component are                       
  put in the generated metadata and the last definition wins which knocks out 
my test component    

Added:
    
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestMavenRepositorySystem.java
   (with props)
Modified:
    
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
    
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
    
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/ProjectClasspathTest.java
    
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java
    
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestProjectBuilder.java

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=747618&r1=747617&r2=747618&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
 Wed Feb 25 00:04:51 2009
@@ -257,7 +257,7 @@
             .setMetadataSource( repositorySystem );
 
         ArtifactResolutionResult result = repositorySystem.resolve( request );
-
+                
         project.setArtifacts( result.getArtifacts() );
 
         return new MavenProjectBuildingResult( project, result );

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java?rev=747618&r1=747617&r2=747618&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
 Wed Feb 25 00:04:51 2009
@@ -1705,8 +1705,7 @@
                                 ArtifactFilter dependencyFilter )
         throws InvalidDependencyVersionException
     {
-        return MavenMetadataSource.createArtifacts( artifactFactory, 
getDependencies(), inheritedScope,
-                                                    dependencyFilter, this );
+        return MavenMetadataSource.createArtifacts( artifactFactory, 
getDependencies(), inheritedScope, dependencyFilter, this );
     }
 
     public void addProjectReference( MavenProject project )

Modified: 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/ProjectClasspathTest.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/ProjectClasspathTest.java?rev=747618&r1=747617&r2=747618&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/ProjectClasspathTest.java
 (original)
+++ 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/ProjectClasspathTest.java
 Wed Feb 25 00:04:51 2009
@@ -29,6 +29,12 @@
 {
     private String dir = "projects/scope/";
     
+    public void setUp() throws Exception 
+    {
+               super.setUp();
+               projectBuilder = lookup(MavenProjectBuilder.class, "test");
+       }
+    
     public void testProjectClasspath()
         throws Exception
     {
@@ -52,7 +58,6 @@
         artifact = getArtifact( project, "maven-test-test", "scope-test" );
         assertNull( "Check no test dependencies are transitive", artifact );
 
-
         artifact = getArtifact( project, "maven-test-test", "scope-compile" );
         System.out.println( "a = " + artifact );
         System.out.println( "b = " + artifact.getScope() );
@@ -104,7 +109,8 @@
     }
 
     private Artifact getArtifact( MavenProject project, String groupId, String 
artifactId )
-    {  System.out.println(groupId + ":" + artifactId);
+    {  
+       System.out.println( "[ Looking for " + groupId + ":" + artifactId + " 
]");
         for ( Iterator i = project.getArtifacts().iterator(); i.hasNext(); )
         {
             Artifact a = (Artifact) i.next();

Modified: 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java?rev=747618&r1=747617&r2=747618&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java
 (original)
+++ 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java
 Wed Feb 25 00:04:51 2009
@@ -62,7 +62,7 @@
 
     @Requirement
     private MavenRepositorySystem repositorySystem;
-    
+        
     static class Source
         implements ArtifactMetadataSource
     {

Added: 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestMavenRepositorySystem.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestMavenRepositorySystem.java?rev=747618&view=auto
==============================================================================
--- 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestMavenRepositorySystem.java
 (added)
+++ 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestMavenRepositorySystem.java
 Wed Feb 25 00:04:51 2009
@@ -0,0 +1,83 @@
+package org.apache.maven.project;
+
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.InvalidRepositoryException;
+import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
+import org.apache.maven.artifact.metadata.ResolutionGroup;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
+import org.apache.maven.project.artifact.InvalidDependencyVersionException;
+import org.apache.maven.repository.LegacyMavenRepositorySystem;
+import org.apache.maven.repository.MavenRepositorySystem;
+import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+...@component(role = MavenRepositorySystem.class, hint = "test")
+public class TestMavenRepositorySystem
+    extends LegacyMavenRepositorySystem
+{
+    public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository 
localRepository, List<ArtifactRepository> remoteRepositories )
+        throws ArtifactMetadataRetrievalException
+    {
+        Model model = null;
+        InputStreamReader r = null;
+        try
+        {
+            String scope = artifact.getArtifactId().substring( 
"scope-".length() );
+            if ( "maven-test".equals( artifact.getGroupId() ) )
+            {
+                String name = "/projects/scope/transitive-" + scope + 
"-dep.xml";
+                r = new InputStreamReader( getClass().getResourceAsStream( 
name ) );
+                MavenXpp3Reader reader = new MavenXpp3Reader();
+                model = reader.read( r );
+            }
+            else
+            {
+                model = new Model();
+            }
+            model.setGroupId( artifact.getGroupId() );
+            model.setArtifactId( artifact.getArtifactId() );
+        }
+        catch ( IOException e )
+        {
+            throw new ArtifactMetadataRetrievalException( e );
+        }
+        catch ( XmlPullParserException e )
+        {
+            throw new ArtifactMetadataRetrievalException( e );
+        }
+        finally
+        {
+            IOUtil.close( r );
+        }
+
+        Set artifacts;
+        try
+        {
+            artifacts = createArtifacts( model.getDependencies(), 
artifact.getScope(), null, null );
+        }
+        catch ( InvalidDependencyVersionException e )
+        {
+            throw new ArtifactMetadataRetrievalException( e );
+        }
+
+        List artifactRepositories;
+        try
+        {
+            artifactRepositories = buildArtifactRepositories( 
model.getRepositories() );
+        }
+        catch ( InvalidRepositoryException e )
+        {
+            throw new ArtifactMetadataRetrievalException( e );
+        }
+
+        return new ResolutionGroup( artifact, artifacts, artifactRepositories 
);
+    }
+}

Propchange: 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestMavenRepositorySystem.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestMavenRepositorySystem.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestProjectBuilder.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestProjectBuilder.java?rev=747618&r1=747617&r2=747618&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestProjectBuilder.java
 (original)
+++ 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestProjectBuilder.java
 Wed Feb 25 00:04:51 2009
@@ -20,6 +20,7 @@
  */
 
 import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.repository.MavenRepositorySystem;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
 
@@ -28,5 +29,8 @@
     extends DefaultMavenProjectBuilder
 {
     @Requirement(hint="test")
-    private ArtifactResolver artifactResolver;    
+    private ArtifactResolver artifactResolver;
+    
+    @Requirement(hint="test")
+    private MavenRepositorySystem repositorySystem;        
 }


Reply via email to