You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2010/09/03 11:41:28 UTC
svn commit: r992243 - in /maven/maven-3/trunk:
maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
Author: bentmann
Date: Fri Sep 3 09:41:27 2010
New Revision: 992243
URL: http://svn.apache.org/viewvc?rev=992243&view=rev
Log:
o Improved compat with legacy artifact system
Modified:
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
Modified: maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?rev=992243&r1=992242&r2=992243&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java (original)
+++ maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java Fri Sep 3 09:41:27 2010
@@ -55,6 +55,7 @@ import org.codehaus.plexus.logging.Logge
import org.sonatype.aether.RepositorySystem;
import org.sonatype.aether.RepositorySystemSession;
import org.sonatype.aether.repository.LocalRepository;
+import org.sonatype.aether.repository.LocalRepositoryManager;
import org.sonatype.aether.resolution.ArtifactRequest;
import org.sonatype.aether.resolution.ArtifactResult;
import org.sonatype.aether.util.DefaultRepositorySystemSession;
@@ -216,6 +217,12 @@ public class DefaultArtifactResolver
ArtifactRequest artifactRequest = new ArtifactRequest();
artifactRequest.setArtifact( RepositoryUtils.toArtifact( artifact ) );
artifactRequest.setRepositories( RepositoryUtils.toRepos( remoteRepositories ) );
+
+ // Maven 2.x quirk: an artifact always points at the local repo, regardless whether resolved or not
+ LocalRepositoryManager lrm = session.getLocalRepositoryManager();
+ String path = lrm.getPathForLocalArtifact( artifactRequest.getArtifact() );
+ artifact.setFile( new File( lrm.getRepository().getBasedir(), path ) );
+
result = repoSystem.resolveArtifact( session, artifactRequest );
}
catch ( org.sonatype.aether.resolution.ArtifactResolutionException e )
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java?rev=992243&r1=992242&r2=992243&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java Fri Sep 3 09:41:27 2010
@@ -48,6 +48,7 @@ import org.codehaus.plexus.util.Os;
import org.codehaus.plexus.util.StringUtils;
import org.sonatype.aether.impl.ArtifactResolver;
import org.sonatype.aether.impl.RemoteRepositoryManager;
+import org.sonatype.aether.repository.LocalRepositoryManager;
import org.sonatype.aether.repository.WorkspaceRepository;
import org.sonatype.aether.resolution.ArtifactRequest;
import org.sonatype.aether.resolution.ArtifactResult;
@@ -165,6 +166,17 @@ public class DefaultProjectBuilder
{
RepositoryUtils.toArtifacts( artifacts, resolutionResult.getDependencyGraph().getChildren(),
Collections.singletonList( project.getArtifact().getId() ), null );
+
+ // Maven 2.x quirk: an artifact always points at the local repo, regardless whether resolved or not
+ LocalRepositoryManager lrm = configuration.getRepositorySession().getLocalRepositoryManager();
+ for ( Artifact artifact : artifacts )
+ {
+ if ( !artifact.isResolved() )
+ {
+ String path = lrm.getPathForLocalArtifact( RepositoryUtils.toArtifact( artifact ) );
+ artifact.setFile( new File( lrm.getRepository().getBasedir(), path ) );
+ }
+ }
}
project.setResolvedArtifacts( artifacts );
project.setArtifacts( artifacts );