mirror of https://github.com/apache/maven.git
[MNG-4398] Provide an extension point to track artifact additions to the local repository
o Applied patch from Igor Fedorenko to actually associate events with the originating local repo git-svn-id: https://svn.apache.org/repos/asf/maven/maven-3/trunk@829805 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
777bae36e8
commit
6e7ef4a045
|
@ -97,7 +97,7 @@ public class DefaultArtifactInstaller
|
|||
if ( localRepositoryMaintainer != null )
|
||||
{
|
||||
LocalRepositoryMaintainerEvent event =
|
||||
new DefaultLocalRepositoryMaintainerEvent( artifact, destination );
|
||||
new DefaultLocalRepositoryMaintainerEvent( localRepository, artifact, destination );
|
||||
localRepositoryMaintainer.artifactInstalled( event );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,6 +38,9 @@ import org.apache.maven.artifact.repository.metadata.Snapshot;
|
|||
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.DefaultLocalRepositoryMaintainerEvent;
|
||||
import org.apache.maven.repository.LocalRepositoryMaintainer;
|
||||
import org.apache.maven.repository.LocalRepositoryMaintainerEvent;
|
||||
import org.apache.maven.repository.legacy.TransferListenerAdapter;
|
||||
import org.apache.maven.repository.legacy.WagonManager;
|
||||
import org.apache.maven.repository.legacy.metadata.ArtifactMetadata;
|
||||
|
@ -86,6 +89,9 @@ public class DefaultArtifactResolver
|
|||
@Requirement
|
||||
private PlexusContainer container;
|
||||
|
||||
@Requirement( optional = true )
|
||||
private LocalRepositoryMaintainer localRepositoryMaintainer;
|
||||
|
||||
public void resolve( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository, TransferListener resolutionListener )
|
||||
throws ArtifactResolutionException, ArtifactNotFoundException
|
||||
{
|
||||
|
@ -176,6 +182,14 @@ public class DefaultArtifactResolver
|
|||
{
|
||||
wagonManager.getArtifact( artifact, remoteRepositories, downloadMonitor, request.isForceUpdate() );
|
||||
}
|
||||
|
||||
if ( localRepositoryMaintainer != null )
|
||||
{
|
||||
LocalRepositoryMaintainerEvent event =
|
||||
new DefaultLocalRepositoryMaintainerEvent( localRepository, artifact, null );
|
||||
localRepositoryMaintainer.artifactDownloaded( event );
|
||||
}
|
||||
|
||||
}
|
||||
catch ( ResourceDoesNotExistException e )
|
||||
{
|
||||
|
|
|
@ -22,6 +22,7 @@ package org.apache.maven.repository;
|
|||
import java.io.File;
|
||||
|
||||
import org.apache.maven.artifact.Artifact;
|
||||
import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||
|
||||
/**
|
||||
* Describes an event to be consumed by {@link LocalRepositoryMaintainer}.
|
||||
|
@ -31,17 +32,24 @@ import org.apache.maven.artifact.Artifact;
|
|||
public class DefaultLocalRepositoryMaintainerEvent
|
||||
implements LocalRepositoryMaintainerEvent
|
||||
{
|
||||
private ArtifactRepository localRepository;
|
||||
|
||||
private Artifact artifact;
|
||||
|
||||
private File file;
|
||||
|
||||
public DefaultLocalRepositoryMaintainerEvent( Artifact artifact, File file )
|
||||
public DefaultLocalRepositoryMaintainerEvent( ArtifactRepository localRepository, Artifact artifact, File file )
|
||||
{
|
||||
this.localRepository = localRepository;
|
||||
this.artifact = artifact;
|
||||
this.file = ( file != null ) ? file : artifact.getFile();
|
||||
}
|
||||
|
||||
public ArtifactRepository getLocalRepository()
|
||||
{
|
||||
return localRepository;
|
||||
}
|
||||
|
||||
public String getGroupId()
|
||||
{
|
||||
return artifact.getGroupId();
|
||||
|
|
|
@ -21,6 +21,8 @@ package org.apache.maven.repository;
|
|||
|
||||
import java.io.File;
|
||||
|
||||
import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||
|
||||
/**
|
||||
* Describes an event to be consumed by {@link LocalRepositoryMaintainer}.
|
||||
*
|
||||
|
@ -29,6 +31,13 @@ import java.io.File;
|
|||
public interface LocalRepositoryMaintainerEvent
|
||||
{
|
||||
|
||||
/**
|
||||
* The local ArtifactRepository instance that generated the event.
|
||||
*
|
||||
* @return Source artifact repository, never {@code null}.
|
||||
*/
|
||||
ArtifactRepository getLocalRepository();
|
||||
|
||||
/**
|
||||
* The group id of the artifact.
|
||||
*
|
||||
|
|
|
@ -30,9 +30,6 @@ import org.apache.maven.artifact.Artifact;
|
|||
import org.apache.maven.artifact.metadata.ArtifactMetadata;
|
||||
import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||
import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
|
||||
import org.apache.maven.repository.DefaultLocalRepositoryMaintainerEvent;
|
||||
import org.apache.maven.repository.LocalRepositoryMaintainer;
|
||||
import org.apache.maven.repository.LocalRepositoryMaintainerEvent;
|
||||
import org.apache.maven.wagon.ConnectionException;
|
||||
import org.apache.maven.wagon.ResourceDoesNotExistException;
|
||||
import org.apache.maven.wagon.TransferFailedException;
|
||||
|
@ -76,9 +73,6 @@ public class DefaultWagonManager
|
|||
@Requirement
|
||||
private UpdateCheckManager updateCheckManager;
|
||||
|
||||
@Requirement( optional = true )
|
||||
private LocalRepositoryMaintainer localRepositoryMaintainer;
|
||||
|
||||
//
|
||||
// Retriever
|
||||
//
|
||||
|
@ -105,13 +99,6 @@ public class DefaultWagonManager
|
|||
{
|
||||
getRemoteFile( repository, artifact.getFile(), remotePath, downloadMonitor,
|
||||
policy.getChecksumPolicy(), false );
|
||||
|
||||
if ( localRepositoryMaintainer != null )
|
||||
{
|
||||
LocalRepositoryMaintainerEvent event =
|
||||
new DefaultLocalRepositoryMaintainerEvent( artifact, null );
|
||||
localRepositoryMaintainer.artifactDownloaded( event );
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue