mirror of https://github.com/apache/maven.git
o Extended repo system to grab artifacts without resolving them
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@800086 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
03dab5e334
commit
bc744b544b
|
@ -35,6 +35,8 @@ import org.apache.maven.wagon.events.TransferListener;
|
|||
// Just hide the one method we want behind the RepositorySystem interface.
|
||||
public interface ArtifactResolver
|
||||
{
|
||||
ArtifactResolutionResult collect( ArtifactResolutionRequest request );
|
||||
|
||||
ArtifactResolutionResult resolve( ArtifactResolutionRequest request );
|
||||
|
||||
// The rest is deprecated
|
||||
|
|
|
@ -339,8 +339,18 @@ public class DefaultArtifactResolver
|
|||
// ------------------------------------------------------------------------
|
||||
//
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
|
||||
public ArtifactResolutionResult collect( ArtifactResolutionRequest request )
|
||||
{
|
||||
return resolve( request, true );
|
||||
}
|
||||
|
||||
public ArtifactResolutionResult resolve( ArtifactResolutionRequest request )
|
||||
{
|
||||
return resolve( request, false );
|
||||
}
|
||||
|
||||
private ArtifactResolutionResult resolve( ArtifactResolutionRequest request, boolean collectOnly )
|
||||
{
|
||||
Artifact rootArtifact = request.getArtifact();
|
||||
Set<Artifact> artifacts = request.getArtifactDependencies();
|
||||
|
@ -382,7 +392,7 @@ public class DefaultArtifactResolver
|
|||
// file reference. But this may be a Maven Plugin that we need to resolve from a remote repository
|
||||
// as well as its dependencies.
|
||||
|
||||
if ( request.isResolveRoot() /* && rootArtifact.getFile() == null */ )
|
||||
if ( !collectOnly && request.isResolveRoot() /* && rootArtifact.getFile() == null */ )
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -457,7 +467,7 @@ public class DefaultArtifactResolver
|
|||
return result;
|
||||
}
|
||||
|
||||
if ( result.getArtifacts() != null )
|
||||
if ( !collectOnly && result.getArtifacts() != null )
|
||||
{
|
||||
for ( Artifact artifact : result.getArtifacts() )
|
||||
{
|
||||
|
|
|
@ -260,6 +260,57 @@ public class LegacyRepositorySystem
|
|||
return url;
|
||||
}
|
||||
|
||||
public ArtifactResolutionResult collect( ArtifactResolutionRequest request )
|
||||
{
|
||||
/*
|
||||
* Probably is not worth it, but here I make sure I restore request
|
||||
* to its original state.
|
||||
*/
|
||||
try
|
||||
{
|
||||
LocalArtifactRepository ideWorkspace = plexus.lookup( LocalArtifactRepository.class, LocalArtifactRepository.IDE_WORKSPACE );
|
||||
|
||||
if ( request.getLocalRepository() instanceof DelegatingLocalArtifactRepository )
|
||||
{
|
||||
DelegatingLocalArtifactRepository delegatingLocalRepository = (DelegatingLocalArtifactRepository) request.getLocalRepository();
|
||||
|
||||
LocalArtifactRepository orig = delegatingLocalRepository.getIdeWorspace();
|
||||
|
||||
delegatingLocalRepository.setIdeWorkspace( ideWorkspace );
|
||||
|
||||
try
|
||||
{
|
||||
return artifactResolver.collect( request );
|
||||
}
|
||||
finally
|
||||
{
|
||||
delegatingLocalRepository.setIdeWorkspace( orig );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ArtifactRepository localRepository = request.getLocalRepository();
|
||||
DelegatingLocalArtifactRepository delegatingLocalRepository = new DelegatingLocalArtifactRepository( localRepository );
|
||||
delegatingLocalRepository.setIdeWorkspace( ideWorkspace );
|
||||
request.setLocalRepository( delegatingLocalRepository );
|
||||
try
|
||||
{
|
||||
return artifactResolver.collect( request );
|
||||
}
|
||||
finally
|
||||
{
|
||||
request.setLocalRepository( localRepository );
|
||||
}
|
||||
}
|
||||
}
|
||||
catch ( ComponentLookupException e )
|
||||
{
|
||||
// no ide workspace artifact resolution
|
||||
}
|
||||
|
||||
return artifactResolver.resolve( request );
|
||||
}
|
||||
|
||||
public ArtifactResolutionResult resolve( ArtifactResolutionRequest request )
|
||||
{
|
||||
/*
|
||||
|
|
|
@ -90,6 +90,8 @@ public interface RepositorySystem
|
|||
*/
|
||||
List<ArtifactRepository> getEffectiveRepositories( List<ArtifactRepository> repositories );
|
||||
|
||||
ArtifactResolutionResult collect( ArtifactResolutionRequest request );
|
||||
|
||||
ArtifactResolutionResult resolve( ArtifactResolutionRequest request );
|
||||
|
||||
MetadataResolutionResult resolveMetadata( MetadataResolutionRequest request );
|
||||
|
|
Loading…
Reference in New Issue