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 2011/02/23 21:25:30 UTC
svn commit: r1073928 - in /maven/maven-3/trunk:
maven-compat/src/main/java/org/apache/maven/artifact/deployer/
maven-compat/src/main/java/org/apache/maven/artifact/installer/
maven-compat/src/main/java/org/apache/maven/artifact/repository/
maven-compat...
Author: bentmann
Date: Wed Feb 23 20:25:29 2011
New Revision: 1073928
URL: http://svn.apache.org/viewvc?rev=1073928&view=rev
Log:
[MNG-4990] RepositorySystem#resolve(request) uses two different local repositories
Added:
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java
- copied, changed from r1073714, maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java
Removed:
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java
Modified:
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/installer/DefaultArtifactInstaller.java
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/deployer/DefaultArtifactDeployer.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java?rev=1073928&r1=1073927&r2=1073928&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java (original)
+++ maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java Wed Feb 23 20:25:29 2011
@@ -38,13 +38,12 @@ import org.codehaus.plexus.component.ann
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.sonatype.aether.RepositorySystem;
+import org.sonatype.aether.RepositorySystemSession;
import org.sonatype.aether.deployment.DeployRequest;
import org.sonatype.aether.deployment.DeployResult;
import org.sonatype.aether.deployment.DeploymentException;
import org.sonatype.aether.metadata.MergeableMetadata;
-import org.sonatype.aether.repository.LocalRepository;
import org.sonatype.aether.repository.RemoteRepository;
-import org.sonatype.aether.util.DefaultRepositorySystemSession;
import org.sonatype.aether.util.artifact.SubArtifact;
@Component( role = ArtifactDeployer.class, instantiationStrategy = "per-lookup" )
@@ -79,9 +78,8 @@ public class DefaultArtifactDeployer
ArtifactRepository localRepository )
throws ArtifactDeploymentException
{
- DefaultRepositorySystemSession session =
- new DefaultRepositorySystemSession( legacySupport.getRepositorySession() );
- session.setLocalRepositoryManager( LegacyLocalRepositoryManager.wrap( localRepository, repoSystem ) );
+ RepositorySystemSession session =
+ LegacyLocalRepositoryManager.overlay( localRepository, legacySupport.getRepositorySession(), repoSystem );
DeployRequest request = new DeployRequest();
Modified: maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/installer/DefaultArtifactInstaller.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/installer/DefaultArtifactInstaller.java?rev=1073928&r1=1073927&r2=1073928&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/installer/DefaultArtifactInstaller.java (original)
+++ maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/installer/DefaultArtifactInstaller.java Wed Feb 23 20:25:29 2011
@@ -37,10 +37,9 @@ import org.codehaus.plexus.component.ann
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.sonatype.aether.RepositorySystem;
+import org.sonatype.aether.RepositorySystemSession;
import org.sonatype.aether.installation.InstallRequest;
import org.sonatype.aether.installation.InstallationException;
-import org.sonatype.aether.repository.LocalRepository;
-import org.sonatype.aether.util.DefaultRepositorySystemSession;
import org.sonatype.aether.util.artifact.SubArtifact;
/**
@@ -72,9 +71,8 @@ public class DefaultArtifactInstaller
public void install( File source, Artifact artifact, ArtifactRepository localRepository )
throws ArtifactInstallationException
{
- DefaultRepositorySystemSession session =
- new DefaultRepositorySystemSession( legacySupport.getRepositorySession() );
- session.setLocalRepositoryManager( LegacyLocalRepositoryManager.wrap( localRepository, repoSystem ) );
+ RepositorySystemSession session =
+ LegacyLocalRepositoryManager.overlay( localRepository, legacySupport.getRepositorySession(), repoSystem );
InstallRequest request = new InstallRequest();
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=1073928&r1=1073927&r2=1073928&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 Wed Feb 23 20:25:29 2011
@@ -58,11 +58,9 @@ import org.codehaus.plexus.component.rep
import org.codehaus.plexus.logging.Logger;
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;
/**
* @author Jason van Zyl
@@ -129,21 +127,7 @@ public class DefaultArtifactResolver
private RepositorySystemSession getSession( ArtifactRepository localRepository )
{
- MavenSession mavenSession = legacySupport.getSession();
- DefaultRepositorySystemSession session;
- if ( mavenSession != null )
- {
- session = new DefaultRepositorySystemSession( mavenSession.getRepositorySession() );
- }
- else
- {
- session = new DefaultRepositorySystemSession();
- }
- if ( localRepository != null && localRepository.getBasedir() != null )
- {
- session.setLocalRepositoryManager( LegacyLocalRepositoryManager.wrap( localRepository, repoSystem ) );
- }
- return session;
+ return LegacyLocalRepositoryManager.overlay( localRepository, legacySupport.getRepositorySession(), repoSystem );
}
private void injectSession1( RepositoryRequest request, MavenSession session )
Copied: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java (from r1073714, maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java)
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java?p2=maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java&p1=maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java&r1=1073714&r2=1073928&rev=1073928&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java Wed Feb 23 20:25:29 2011
@@ -26,7 +26,6 @@ import java.util.List;
import org.apache.maven.RepositoryUtils;
import org.apache.maven.artifact.metadata.ArtifactMetadata;
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadataStoreException;
import org.apache.maven.repository.Proxy;
import org.sonatype.aether.RepositorySystem;
@@ -42,6 +41,8 @@ import org.sonatype.aether.repository.Lo
import org.sonatype.aether.repository.LocalRepository;
import org.sonatype.aether.repository.LocalRepositoryManager;
import org.sonatype.aether.repository.RemoteRepository;
+import org.sonatype.aether.util.DefaultRepositorySystemSession;
+import org.sonatype.aether.util.FilterRepositorySystemSession;
/**
* <strong>Warning:</strong> This is an internal utility class that is only public for technical reasons, it is not part
@@ -57,16 +58,37 @@ public class LegacyLocalRepositoryManage
private final LocalRepository repo;
- public static LocalRepositoryManager wrap( ArtifactRepository repository, RepositorySystem system )
+ public static RepositorySystemSession overlay( ArtifactRepository repository, RepositorySystemSession session,
+ RepositorySystem system )
{
- ArtifactRepositoryLayout layout = repository.getLayout();
- if ( layout != null && layout.getClass().equals( DefaultRepositoryLayout.class ) )
+ if ( repository == null || repository.getBasedir() == null )
{
- // map the default layout to the default impl of the repo system
- return system.newLocalRepositoryManager( new LocalRepository( repository.getBasedir() ) );
+ return session;
}
- return new LegacyLocalRepositoryManager( repository );
+ if ( session != null )
+ {
+ LocalRepositoryManager lrm = session.getLocalRepositoryManager();
+ if ( lrm != null && lrm.getRepository().getBasedir().equals( new File( repository.getBasedir() ) ) )
+ {
+ return session;
+ }
+ }
+ else
+ {
+ session = new DefaultRepositorySystemSession();
+ }
+
+ final LocalRepositoryManager llrm = new LegacyLocalRepositoryManager( repository );
+
+ return new FilterRepositorySystemSession( session )
+ {
+ @Override
+ public LocalRepositoryManager getLocalRepositoryManager()
+ {
+ return llrm;
+ }
+ };
}
private LegacyLocalRepositoryManager( ArtifactRepository delegate )
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=1073928&r1=1073927&r2=1073928&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 Wed Feb 23 20:25:29 2011
@@ -27,6 +27,7 @@ import java.util.Set;
import org.apache.maven.RepositoryUtils;
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.LegacyLocalRepositoryManager;
import org.apache.maven.model.Build;
import org.apache.maven.model.Model;
import org.apache.maven.model.Profile;
@@ -654,7 +655,9 @@ public class DefaultProjectBuilder
this.request = request;
this.modelPool = modelPool;
this.modelCache = modelCache;
- session = request.getRepositorySession();
+ session =
+ LegacyLocalRepositoryManager.overlay( request.getLocalRepository(), request.getRepositorySession(),
+ repoSystem );
repositories = RepositoryUtils.toRepos( request.getRemoteRepositories() );
}