You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2009/02/25 01:04:51 UTC
svn commit: r747618 - in /maven/components/trunk/maven-project/src:
main/java/org/apache/maven/project/ test/java/org/apache/maven/project/
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;
}