o Added transfer listener for further downloads

git-svn-id: https://svn.apache.org/repos/asf/maven/maven-3/trunk@825494 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Benjamin Bentmann 2009-10-15 13:40:24 +00:00
parent 865134cd8e
commit 759928f4d0
18 changed files with 127 additions and 22 deletions

View File

@ -22,6 +22,8 @@
import java.util.ArrayList;
import java.util.List;
import org.apache.maven.repository.ArtifactTransferListener;
/**
* Collects basic settings to access the repository system.
*
@ -41,6 +43,8 @@ public class DefaultRepositoryRequest
private RepositoryCache cache;
private ArtifactTransferListener transferListener;
/**
* Creates an empty repository request.
*/
@ -61,6 +65,7 @@ public DefaultRepositoryRequest( RepositoryRequest repositoryRequest )
setOffline( repositoryRequest.isOffline() );
setCache( repositoryRequest.getCache() );
setForceUpdate( repositoryRequest.isForceUpdate() );
setTransferListener( repositoryRequest.getTransferListener() );
}
public boolean isOffline()
@ -128,4 +133,16 @@ public DefaultRepositoryRequest setCache( RepositoryCache cache )
return this;
}
public ArtifactTransferListener getTransferListener()
{
return transferListener;
}
public DefaultRepositoryRequest setTransferListener( ArtifactTransferListener transferListener )
{
this.transferListener = transferListener;
return this;
}
}

View File

@ -21,6 +21,8 @@
import java.util.List;
import org.apache.maven.repository.ArtifactTransferListener;
/**
* Collects basic settings to access the repository system.
*
@ -107,4 +109,19 @@ public interface RepositoryRequest
*/
RepositoryRequest setCache( RepositoryCache cache );
/**
* Gets the listener to notify of transfer events.
*
* @return The transfer listener or {@code null} if none.
*/
ArtifactTransferListener getTransferListener();
/**
* Sets the listener to notify of transfer events.
*
* @param transferListener The transfer listener to notify, may be {@code null}.
* @return This request, never {@code null}.
*/
RepositoryRequest setTransferListener( ArtifactTransferListener transferListener );
}

View File

@ -29,7 +29,7 @@
import org.apache.maven.artifact.repository.RepositoryCache;
import org.apache.maven.artifact.repository.RepositoryRequest;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.wagon.events.TransferListener;
import org.apache.maven.repository.ArtifactTransferListener;
/**
* A resolution request allows you to either use an existing MavenProject, or a coordinate (gid:aid:version)
@ -64,7 +64,7 @@ public class ArtifactResolutionRequest
// This is like a filter but overrides all transitive versions
private Map managedVersionMap;
private TransferListener transferListener;
private ArtifactTransferListener transferListener;
private boolean resolveRoot = true;
@ -86,6 +86,7 @@ public ArtifactResolutionRequest( RepositoryRequest request )
setCache( request.getCache() );
setOffline( request.isOffline() );
setForceUpdate( request.isForceUpdate() );
setTransferListener( request.getTransferListener() );
}
public Artifact getArtifact()
@ -228,12 +229,12 @@ public boolean isResolveTransitively()
return resolveTransitively;
}
public TransferListener getTransferListener()
public ArtifactTransferListener getTransferListener()
{
return transferListener;
}
public ArtifactResolutionRequest setTransferListener( TransferListener transferListener )
public ArtifactResolutionRequest setTransferListener( ArtifactTransferListener transferListener )
{
this.transferListener = transferListener;
return this;

View File

@ -38,6 +38,7 @@
import org.apache.maven.artifact.repository.metadata.SnapshotArtifactRepositoryMetadata;
import org.apache.maven.artifact.repository.metadata.Versioning;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.repository.legacy.TransferListenerAdapter;
import org.apache.maven.repository.legacy.WagonManager;
import org.apache.maven.repository.legacy.metadata.ArtifactMetadata;
import org.apache.maven.repository.legacy.metadata.DefaultMetadataResolutionRequest;
@ -371,6 +372,7 @@ public ArtifactResolutionResult resolve( ArtifactResolutionRequest request )
List<ResolutionListener> listeners = request.getListeners();
ArtifactFilter collectionFilter = request.getCollectionFilter();
ArtifactFilter resolutionFilter = request.getResolutionFilter();
TransferListener transferListener = TransferListenerAdapter.newAdapter( request.getTransferListener() );
//TODO: hack because metadata isn't generated in m2e correctly and i want to run the maven i have in the workspace
if ( source == null )
@ -408,7 +410,7 @@ public ArtifactResolutionResult resolve( ArtifactResolutionRequest request )
{
try
{
resolve( rootArtifact, request, request.getTransferListener(), false );
resolve( rootArtifact, request, transferListener, false );
}
catch ( ArtifactResolutionException e )
{
@ -512,7 +514,7 @@ public ArtifactResolutionResult resolve( ArtifactResolutionRequest request )
{
childRequest.setRemoteRepositories( node.getRemoteRepositories() );
resolve( artifact, childRequest, request.getTransferListener(), false );
resolve( artifact, childRequest, transferListener, false );
}
}
catch ( ArtifactNotFoundException anfe )

View File

@ -306,12 +306,6 @@ public void getRemoteFile( ArtifactRepository repository, File destination, Stri
if ( downloaded )
{
if ( logger.isInfoEnabled() )
{
String url = String.valueOf( repository.getUrl() );
logger.info( "Downloaded " + url + ( url.endsWith( "/" ) ? "" : "/" ) + remotePath );
}
// keep the checksum files from showing up on the download monitor...
if ( downloadMonitor != null )
{

View File

@ -26,6 +26,7 @@
import org.apache.maven.artifact.repository.DefaultRepositoryRequest;
import org.apache.maven.artifact.repository.RepositoryCache;
import org.apache.maven.artifact.repository.RepositoryRequest;
import org.apache.maven.repository.ArtifactTransferListener;
/**
* Forms a request to retrieve artifact metadata.
@ -136,4 +137,16 @@ public DefaultMetadataResolutionRequest setForceUpdate( boolean forceUpdate )
return this;
}
public ArtifactTransferListener getTransferListener()
{
return repositoryRequest.getTransferListener();
}
public DefaultMetadataResolutionRequest setTransferListener( ArtifactTransferListener transferListener )
{
repositoryRequest.setTransferListener( transferListener );
return this;
}
}

View File

@ -39,7 +39,6 @@
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.artifact.ProjectArtifact;
import org.apache.maven.repository.RepositorySystem;
import org.apache.maven.repository.legacy.TransferListenerAdapter;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
@ -136,7 +135,7 @@ public Set<Artifact> resolve( Collection<? extends MavenProject> projects, Colle
.setOffline( session.isOffline() )
.setForceUpdate( session.getRequest().isUpdateSnapshots() )
.setCache( session.getRepositoryCache() );
request.setTransferListener( TransferListenerAdapter.newAdapter( session.getRequest().getTransferListener() ) );
request.setTransferListener( session.getRequest().getTransferListener() );
Set<String> projectIds = null;

View File

@ -966,6 +966,7 @@ private RepositoryRequest getRepositoryRequest( MavenSession session, MavenProje
request.setRemoteRepositories( project.getPluginArtifactRepositories() );
}
request.setOffline( session.isOffline() );
request.setTransferListener( session.getRequest().getTransferListener() );
return request;
}

View File

@ -344,6 +344,7 @@ private void createPluginRealm( PluginDescriptor pluginDescriptor, MavenSession
request.setRemoteRepositories( project.getPluginArtifactRepositories() );
request.setCache( session.getRepositoryCache() );
request.setOffline( session.isOffline() );
request.setTransferListener( session.getRequest().getTransferListener() );
List<Artifact> pluginArtifacts =
resolvePluginArtifacts( plugin, pluginArtifact, request, project.getExtensionArtifactFilter() );

View File

@ -29,6 +29,7 @@
import org.apache.maven.execution.MavenSession;
import org.apache.maven.model.Model;
import org.apache.maven.project.MavenProject;
import org.apache.maven.repository.ArtifactTransferListener;
/**
* Collects settings required to resolve a plugin prefix.
@ -82,6 +83,7 @@ public DefaultPluginPrefixRequest( String prefix, MavenSession session )
setCache( session.getRepositoryCache() );
setLocalRepository( session.getLocalRepository() );
setOffline( session.isOffline() );
setTransferListener( session.getRequest().getTransferListener() );
MavenProject project = session.getCurrentProject();
if ( project != null )
@ -194,4 +196,16 @@ public DefaultPluginPrefixRequest setForceUpdate( boolean forceUpdate )
return this;
}
public ArtifactTransferListener getTransferListener()
{
return repositoryRequest.getTransferListener();
}
public DefaultPluginPrefixRequest setTransferListener( ArtifactTransferListener transferListener )
{
repositoryRequest.setTransferListener( transferListener );
return this;
}
}

View File

@ -25,6 +25,7 @@
import org.apache.maven.artifact.repository.RepositoryCache;
import org.apache.maven.artifact.repository.RepositoryRequest;
import org.apache.maven.model.Model;
import org.apache.maven.repository.ArtifactTransferListener;
/**
* Collects settings required to resolve a plugin prefix.
@ -143,4 +144,19 @@ public interface PluginPrefixRequest
*/
PluginPrefixRequest setCache( RepositoryCache cache );
/**
* Gets the listener to notify of transfer events.
*
* @return The transfer listener or {@code null} if none.
*/
ArtifactTransferListener getTransferListener();
/**
* Sets the listener to notify of transfer events.
*
* @param transferListener The transfer listener to notify, may be {@code null}.
* @return This request, never {@code null}.
*/
PluginPrefixRequest setTransferListener( ArtifactTransferListener transferListener );
}

View File

@ -171,7 +171,7 @@ private PluginPrefixResult resolveFromRepository( PluginPrefixRequest request )
try
{
repositorySystem.retrieve( repository, destination, remotePath, null );
repositorySystem.retrieve( repository, destination, remotePath, request.getTransferListener() );
}
catch ( ArtifactTransferFailedException e )
{

View File

@ -28,6 +28,7 @@
import org.apache.maven.execution.MavenSession;
import org.apache.maven.model.Plugin;
import org.apache.maven.project.MavenProject;
import org.apache.maven.repository.ArtifactTransferListener;
/**
* Collects settings required to resolve the version for a plugin.
@ -91,6 +92,7 @@ public DefaultPluginVersionRequest( Plugin plugin, MavenSession session )
setCache( session.getRepositoryCache() );
setLocalRepository( session.getLocalRepository() );
setOffline( session.isOffline() );
setTransferListener( session.getRequest().getTransferListener() );
MavenProject project = session.getCurrentProject();
if ( project != null )
@ -183,4 +185,16 @@ public DefaultPluginVersionRequest setForceUpdate( boolean forceUpdate )
return this;
}
public ArtifactTransferListener getTransferListener()
{
return repositoryRequest.getTransferListener();
}
public DefaultPluginVersionRequest setTransferListener( ArtifactTransferListener transferListener )
{
repositoryRequest.setTransferListener( transferListener );
return this;
}
}

View File

@ -24,6 +24,7 @@
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.RepositoryCache;
import org.apache.maven.artifact.repository.RepositoryRequest;
import org.apache.maven.repository.ArtifactTransferListener;
/**
* Collects settings required to resolve the version for a plugin.
@ -125,4 +126,19 @@ public interface PluginVersionRequest
*/
PluginVersionRequest setCache( RepositoryCache cache );
/**
* Gets the listener to notify of transfer events.
*
* @return The transfer listener or {@code null} if none.
*/
ArtifactTransferListener getTransferListener();
/**
* Sets the listener to notify of transfer events.
*
* @param transferListener The transfer listener to notify, may be {@code null}.
* @return This request, never {@code null}.
*/
PluginVersionRequest setTransferListener( ArtifactTransferListener transferListener );
}

View File

@ -84,7 +84,8 @@ public PluginVersionResult resolve( PluginVersionRequest request )
try
{
repositorySystem.retrieve( repository, artifactMetadataFile, remotePath, null );
repositorySystem.retrieve( repository, artifactMetadataFile, remotePath,
request.getTransferListener() );
}
catch ( ArtifactTransferFailedException e )
{

View File

@ -42,7 +42,6 @@
import org.apache.maven.model.resolution.ModelResolver;
import org.apache.maven.project.artifact.ProjectArtifact;
import org.apache.maven.repository.RepositorySystem;
import org.apache.maven.repository.legacy.TransferListenerAdapter;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.util.Os;
@ -143,7 +142,7 @@ private ProjectBuildingResult build( File pomFile, boolean localProject, Project
.setOffline( configuration.isOffline() )
.setForceUpdate( configuration.isForceUpdate() )
.setManagedVersionMap( project.getManagedVersionMap() );
artifactRequest.setTransferListener( TransferListenerAdapter.newAdapter( configuration.getTransferListener() ) );
artifactRequest.setTransferListener( configuration.getTransferListener() );
artifactResult = repositorySystem.resolve( artifactRequest );
@ -206,7 +205,7 @@ public ProjectBuildingResult build( Artifact artifact, ProjectBuildingRequest co
.setRemoteRepositories( configuration.getRemoteRepositories() )
.setOffline( configuration.isOffline() )
.setForceUpdate( configuration.isForceUpdate() );
request.setTransferListener( TransferListenerAdapter.newAdapter( configuration.getTransferListener() ) );
request.setTransferListener( configuration.getTransferListener() );
ArtifactResolutionResult result = repositorySystem.resolve( request );

View File

@ -37,7 +37,6 @@
import org.apache.maven.model.resolution.ModelResolver;
import org.apache.maven.model.resolution.UnresolvableModelException;
import org.apache.maven.repository.RepositorySystem;
import org.apache.maven.repository.legacy.TransferListenerAdapter;
/**
* Implements a model resolver backed by the Maven Repository API and the reactor.
@ -137,7 +136,7 @@ public ModelSource resolveModel( String groupId, String artifactId, String versi
request.setLocalRepository( projectBuildingRequest.getLocalRepository() );
request.setOffline( projectBuildingRequest.isOffline() );
request.setCache( projectBuildingRequest.getRepositoryCache() );
request.setTransferListener( TransferListenerAdapter.newAdapter( projectBuildingRequest.getTransferListener() ) );
request.setTransferListener( projectBuildingRequest.getTransferListener() );
ArtifactResolutionResult result = repositorySystem.resolve( request );

View File

@ -542,6 +542,7 @@ private ProjectRelocation retrieveRelocatedProject( Artifact artifact, Repositor
configuration.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL );
configuration.setProcessPlugins( false );
configuration.setSystemProperties( System.getProperties() );
configuration.setTransferListener( repositoryRequest.getTransferListener() );
project = getProjectBuilder().build( pomArtifact, configuration ).getProject();
}