public class DefaultWagonManager extends org.codehaus.plexus.logging.AbstractLogEnabled implements WagonManager, org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable, org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
Modifier and Type | Field and Description |
---|---|
private static int |
anonymousMirrorIdSeed |
private java.util.Map |
authenticationInfoMap |
private java.util.Map<java.lang.String,org.codehaus.plexus.PlexusContainer> |
availableWagons |
private org.codehaus.plexus.PlexusContainer |
container |
private org.apache.maven.wagon.repository.RepositoryPermissions |
defaultRepositoryPermissions |
private org.apache.maven.wagon.events.TransferListener |
downloadMonitor |
private static java.lang.String |
EXTERNAL_WILDCARD |
private java.lang.String |
httpUserAgent |
private boolean |
interactive |
private static java.lang.String |
MAVEN_ARTIFACT_PROPERTIES |
private java.util.Map |
mirrors |
private boolean |
online |
private WagonProviderMapping |
providerMapping |
private java.util.Map |
proxies |
private ArtifactRepositoryFactory |
repositoryFactory |
private java.util.Map<java.lang.String,org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration> |
serverConfigurationMap
Map( String, XmlPlexusConfiguration ) with the repository id and the wagon configuration
|
private java.util.Map |
serverPermissionsMap |
private java.util.Map<java.lang.String,java.lang.String> |
serverWagonProviderMap |
private static java.lang.String |
WAGON_PROVIDER_CONFIGURATION |
private static java.lang.String |
WILDCARD |
ROLE
Constructor and Description |
---|
DefaultWagonManager() |
Modifier and Type | Method and Description |
---|---|
void |
addAuthenticationInfo(java.lang.String repositoryId,
java.lang.String username,
java.lang.String password,
java.lang.String privateKey,
java.lang.String passphrase) |
void |
addConfiguration(java.lang.String repositoryId,
org.codehaus.plexus.util.xml.Xpp3Dom configuration)
Set the configuration for a repository
|
void |
addMirror(java.lang.String id,
java.lang.String mirrorOf,
java.lang.String url) |
void |
addPermissionInfo(java.lang.String repositoryId,
java.lang.String filePermissions,
java.lang.String directoryPermissions) |
void |
addProxy(java.lang.String protocol,
java.lang.String host,
int port,
java.lang.String username,
java.lang.String password,
java.lang.String nonProxyHosts)
Set the proxy used for a particular protocol.
|
private void |
configureWagon(org.apache.maven.wagon.Wagon wagon,
ArtifactRepository repository)
Applies the server configuration to the wagon
|
private void |
configureWagon(org.apache.maven.wagon.Wagon wagon,
java.lang.String repositoryId,
java.lang.String protocol) |
void |
contextualize(org.codehaus.plexus.context.Context context) |
private void |
disconnectWagon(org.apache.maven.wagon.Wagon wagon) |
private void |
failIfNotOnline() |
void |
getArtifact(Artifact artifact,
ArtifactRepository repository) |
void |
getArtifact(Artifact artifact,
java.util.List remoteRepositories) |
void |
getArtifactMetadata(ArtifactMetadata metadata,
ArtifactRepository repository,
java.io.File destination,
java.lang.String checksumPolicy) |
void |
getArtifactMetadataFromDeploymentRepository(ArtifactMetadata metadata,
ArtifactRepository repository,
java.io.File destination,
java.lang.String checksumPolicy) |
org.apache.maven.wagon.authentication.AuthenticationInfo |
getAuthenticationInfo(java.lang.String id) |
java.lang.String |
getHttpUserAgent() |
ArtifactRepository |
getMirror(ArtifactRepository originalRepository)
This method finds a matching mirror for the selected repository.
|
ArtifactRepository |
getMirrorRepository(ArtifactRepository repository) |
org.apache.maven.wagon.proxy.ProxyInfo |
getProxy(java.lang.String protocol) |
private void |
getRemoteFile(ArtifactRepository repository,
java.io.File destination,
java.lang.String remotePath,
org.apache.maven.wagon.events.TransferListener downloadMonitor,
java.lang.String checksumPolicy,
boolean force) |
org.apache.maven.wagon.Wagon |
getWagon(org.apache.maven.wagon.repository.Repository repository)
Get a Wagon provider for the provided repository.
|
org.apache.maven.wagon.Wagon |
getWagon(java.lang.String protocol)
Get a Wagon provider that understands the protocol passed as argument.
|
private org.apache.maven.wagon.Wagon |
getWagon(java.lang.String protocol,
java.lang.String repositoryId) |
private org.codehaus.plexus.PlexusContainer |
getWagonContainer(java.lang.String hint) |
private java.lang.String |
getWagonHint(java.lang.String protocol,
java.lang.String repositoryId) |
private void |
handleChecksumFailure(java.lang.String checksumPolicy,
java.lang.String message,
java.lang.Throwable cause) |
void |
initialize() |
boolean |
isExternalRepo(ArtifactRepository originalRepository)
Checks the URL to see if this repository refers to an external repository
|
boolean |
isOnline() |
boolean |
matchPattern(ArtifactRepository originalRepository,
java.lang.String pattern)
This method checks if the pattern matches the originalRepository.
|
void |
putArtifact(java.io.File source,
Artifact artifact,
ArtifactRepository deploymentRepository) |
void |
putArtifactMetadata(java.io.File source,
ArtifactMetadata artifactMetadata,
ArtifactRepository repository) |
private void |
putRemoteFile(ArtifactRepository repository,
java.io.File source,
java.lang.String remotePath,
org.apache.maven.wagon.events.TransferListener downloadMonitor) |
void |
registerWagons(java.util.Collection wagons,
org.codehaus.plexus.PlexusContainer extensionContainer) |
private void |
releaseWagon(java.lang.String protocol,
org.apache.maven.wagon.Wagon wagon,
java.lang.String repositoryId) |
void |
setDefaultRepositoryPermissions(org.apache.maven.wagon.repository.RepositoryPermissions defaultRepositoryPermissions) |
void |
setDownloadMonitor(org.apache.maven.wagon.events.TransferListener downloadMonitor) |
void |
setHttpUserAgent(java.lang.String userAgent) |
void |
setInteractive(boolean interactive) |
void |
setOnline(boolean online) |
private org.codehaus.plexus.configuration.PlexusConfiguration |
updateUserAgentForHttp(org.apache.maven.wagon.Wagon wagon,
org.codehaus.plexus.configuration.PlexusConfiguration config) |
private void |
verifyChecksum(org.apache.maven.wagon.observers.ChecksumObserver checksumObserver,
java.io.File destination,
java.io.File tempDestination,
java.lang.String remotePath,
java.lang.String checksumFileExtension,
org.apache.maven.wagon.Wagon wagon) |
private static final java.lang.String WILDCARD
private static final java.lang.String EXTERNAL_WILDCARD
private static final java.lang.String MAVEN_ARTIFACT_PROPERTIES
private static final java.lang.String WAGON_PROVIDER_CONFIGURATION
private static int anonymousMirrorIdSeed
private org.codehaus.plexus.PlexusContainer container
private java.util.Map proxies
private java.util.Map authenticationInfoMap
private java.util.Map serverPermissionsMap
private java.util.Map mirrors
private java.util.Map<java.lang.String,org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration> serverConfigurationMap
private java.util.Map<java.lang.String,java.lang.String> serverWagonProviderMap
private org.apache.maven.wagon.events.TransferListener downloadMonitor
private boolean online
private ArtifactRepositoryFactory repositoryFactory
private boolean interactive
private java.util.Map<java.lang.String,org.codehaus.plexus.PlexusContainer> availableWagons
private org.apache.maven.wagon.repository.RepositoryPermissions defaultRepositoryPermissions
private java.lang.String httpUserAgent
private WagonProviderMapping providerMapping
public org.apache.maven.wagon.Wagon getWagon(org.apache.maven.wagon.repository.Repository repository) throws org.apache.maven.wagon.UnsupportedProtocolException, WagonConfigurationException
WagonManager
getWagon
in interface WagonManager
repository
- the repositoryWagon
instance that can be used to connect to the repositoryorg.apache.maven.wagon.UnsupportedProtocolException
- if there is no provider able to handle the protocolWagonConfigurationException
- if the wagon can't be configured for the repositorypublic org.apache.maven.wagon.Wagon getWagon(java.lang.String protocol) throws org.apache.maven.wagon.UnsupportedProtocolException
WagonManager
getWagon
in interface WagonManager
protocol
- the protocol the Wagon
will handleWagon
instance able to handle the protocol providedorg.apache.maven.wagon.UnsupportedProtocolException
- if there is no provider able to handle the protocolprivate org.apache.maven.wagon.Wagon getWagon(java.lang.String protocol, java.lang.String repositoryId) throws org.apache.maven.wagon.UnsupportedProtocolException
org.apache.maven.wagon.UnsupportedProtocolException
private java.lang.String getWagonHint(java.lang.String protocol, java.lang.String repositoryId)
private org.codehaus.plexus.PlexusContainer getWagonContainer(java.lang.String hint)
public void putArtifact(java.io.File source, Artifact artifact, ArtifactRepository deploymentRepository) throws org.apache.maven.wagon.TransferFailedException
putArtifact
in interface WagonManager
org.apache.maven.wagon.TransferFailedException
public void putArtifactMetadata(java.io.File source, ArtifactMetadata artifactMetadata, ArtifactRepository repository) throws org.apache.maven.wagon.TransferFailedException
putArtifactMetadata
in interface WagonManager
org.apache.maven.wagon.TransferFailedException
private void putRemoteFile(ArtifactRepository repository, java.io.File source, java.lang.String remotePath, org.apache.maven.wagon.events.TransferListener downloadMonitor) throws org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.TransferFailedException
public void getArtifact(Artifact artifact, java.util.List remoteRepositories) throws org.apache.maven.wagon.TransferFailedException, org.apache.maven.wagon.ResourceDoesNotExistException
getArtifact
in interface WagonManager
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException
public void getArtifact(Artifact artifact, ArtifactRepository repository) throws org.apache.maven.wagon.TransferFailedException, org.apache.maven.wagon.ResourceDoesNotExistException
getArtifact
in interface WagonManager
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException
public void getArtifactMetadata(ArtifactMetadata metadata, ArtifactRepository repository, java.io.File destination, java.lang.String checksumPolicy) throws org.apache.maven.wagon.TransferFailedException, org.apache.maven.wagon.ResourceDoesNotExistException
getArtifactMetadata
in interface WagonManager
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException
public void getArtifactMetadataFromDeploymentRepository(ArtifactMetadata metadata, ArtifactRepository repository, java.io.File destination, java.lang.String checksumPolicy) throws org.apache.maven.wagon.TransferFailedException, org.apache.maven.wagon.ResourceDoesNotExistException
getArtifactMetadataFromDeploymentRepository
in interface WagonManager
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException
private void getRemoteFile(ArtifactRepository repository, java.io.File destination, java.lang.String remotePath, org.apache.maven.wagon.events.TransferListener downloadMonitor, java.lang.String checksumPolicy, boolean force) throws org.apache.maven.wagon.TransferFailedException, org.apache.maven.wagon.ResourceDoesNotExistException
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException
public ArtifactRepository getMirrorRepository(ArtifactRepository repository)
getMirrorRepository
in interface WagonManager
private void failIfNotOnline() throws org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.TransferFailedException
private void handleChecksumFailure(java.lang.String checksumPolicy, java.lang.String message, java.lang.Throwable cause) throws ChecksumFailedException
ChecksumFailedException
private void verifyChecksum(org.apache.maven.wagon.observers.ChecksumObserver checksumObserver, java.io.File destination, java.io.File tempDestination, java.lang.String remotePath, java.lang.String checksumFileExtension, org.apache.maven.wagon.Wagon wagon) throws org.apache.maven.wagon.ResourceDoesNotExistException, org.apache.maven.wagon.TransferFailedException, org.apache.maven.wagon.authorization.AuthorizationException
org.apache.maven.wagon.ResourceDoesNotExistException
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.authorization.AuthorizationException
private void disconnectWagon(org.apache.maven.wagon.Wagon wagon)
private void releaseWagon(java.lang.String protocol, org.apache.maven.wagon.Wagon wagon, java.lang.String repositoryId)
public org.apache.maven.wagon.proxy.ProxyInfo getProxy(java.lang.String protocol)
getProxy
in interface WagonManager
public org.apache.maven.wagon.authentication.AuthenticationInfo getAuthenticationInfo(java.lang.String id)
getAuthenticationInfo
in interface WagonManager
public ArtifactRepository getMirror(ArtifactRepository originalRepository)
originalRepository
- See if there is a mirror for this repository.public boolean matchPattern(ArtifactRepository originalRepository, java.lang.String pattern)
originalRepository
- to compare for a match.pattern
- used for match. Currently only '*' is supported.public boolean isExternalRepo(ArtifactRepository originalRepository)
originalRepository
- public void addProxy(java.lang.String protocol, java.lang.String host, int port, java.lang.String username, java.lang.String password, java.lang.String nonProxyHosts)
addProxy
in interface WagonManager
protocol
- the protocol (required)host
- the proxy host name (required)port
- the proxy port (required)username
- the username for the proxy, or null if there is nonepassword
- the password for the proxy, or null if there is nonenonProxyHosts
- the set of hosts not to use the proxy for. Follows Java system property format:
*.foo.com|localhost
.public void contextualize(org.codehaus.plexus.context.Context context) throws org.codehaus.plexus.context.ContextException
contextualize
in interface org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable
org.codehaus.plexus.context.ContextException
public void setDownloadMonitor(org.apache.maven.wagon.events.TransferListener downloadMonitor)
setDownloadMonitor
in interface WagonManager
public void addAuthenticationInfo(java.lang.String repositoryId, java.lang.String username, java.lang.String password, java.lang.String privateKey, java.lang.String passphrase)
addAuthenticationInfo
in interface WagonManager
public void addPermissionInfo(java.lang.String repositoryId, java.lang.String filePermissions, java.lang.String directoryPermissions)
addPermissionInfo
in interface WagonManager
public void addMirror(java.lang.String id, java.lang.String mirrorOf, java.lang.String url)
addMirror
in interface WagonManager
public void setOnline(boolean online)
setOnline
in interface WagonManager
public boolean isOnline()
isOnline
in interface WagonManager
public void setInteractive(boolean interactive)
setInteractive
in interface WagonManager
public void registerWagons(java.util.Collection wagons, org.codehaus.plexus.PlexusContainer extensionContainer)
registerWagons
in interface WagonManager
private void configureWagon(org.apache.maven.wagon.Wagon wagon, ArtifactRepository repository) throws WagonConfigurationException
wagon
- the wagon to configurerepository
- the repository that has the configurationWagonConfigurationException
- wraps any error given during configuration of the wagon instanceprivate void configureWagon(org.apache.maven.wagon.Wagon wagon, java.lang.String repositoryId, java.lang.String protocol) throws WagonConfigurationException
WagonConfigurationException
private org.codehaus.plexus.configuration.PlexusConfiguration updateUserAgentForHttp(org.apache.maven.wagon.Wagon wagon, org.codehaus.plexus.configuration.PlexusConfiguration config)
public void addConfiguration(java.lang.String repositoryId, org.codehaus.plexus.util.xml.Xpp3Dom configuration)
WagonManager
addConfiguration
in interface WagonManager
repositoryId
- id of the repository to set the configuration toconfiguration
- dom tree of the xml with the configuration for the Wagon
public void setDefaultRepositoryPermissions(org.apache.maven.wagon.repository.RepositoryPermissions defaultRepositoryPermissions)
setDefaultRepositoryPermissions
in interface WagonManager
public void initialize() throws org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
initialize
in interface org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
public void setHttpUserAgent(java.lang.String userAgent)
public java.lang.String getHttpUserAgent()