mirror of
https://github.com/apache/maven.git
synced 2025-03-06 00:29:26 +00:00
[MNG-4990] RepositorySystem#resolve(request) uses two different local repositories
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-3/trunk@1073928 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c4f0aa5209
commit
ed12e0a541
@ -38,13 +38,12 @@
|
||||
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 void deploy( File source, Artifact artifact, ArtifactRepository deploymen
|
||||
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();
|
||||
|
||||
|
@ -37,10 +37,9 @@
|
||||
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 void install( String basedir, String finalName, Artifact artifact, Artifa
|
||||
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();
|
||||
|
||||
|
@ -58,11 +58,9 @@
|
||||
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 @@ protected void finalize()
|
||||
|
||||
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 )
|
||||
|
@ -26,7 +26,6 @@
|
||||
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.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 LegacyLocalRepositoryManager
|
||||
|
||||
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 )
|
@ -27,6 +27,7 @@
|
||||
|
||||
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 InternalConfig( ProjectBuildingRequest request, ReactorModelPool modelPoo
|
||||
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() );
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user