Class DefaultWagonManager
- java.lang.Object
-
- org.codehaus.plexus.logging.AbstractLogEnabled
-
- org.apache.maven.artifact.manager.DefaultWagonManager
-
- All Implemented Interfaces:
WagonManager,org.codehaus.plexus.logging.LogEnabled,org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable,org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
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
-
-
Field Summary
Fields Modifier and Type Field Description private static intanonymousMirrorIdSeedprivate java.util.MapauthenticationInfoMapprivate java.util.Map<java.lang.String,org.codehaus.plexus.PlexusContainer>availableWagonsprivate org.codehaus.plexus.PlexusContainercontainerprivate org.apache.maven.wagon.repository.RepositoryPermissionsdefaultRepositoryPermissionsprivate org.apache.maven.wagon.events.TransferListenerdownloadMonitorprivate static java.lang.StringEXTERNAL_WILDCARDprivate java.lang.StringhttpUserAgentprivate booleaninteractiveprivate static java.lang.StringMAVEN_ARTIFACT_PROPERTIESprivate java.util.Mapmirrorsprivate booleanonlineprivate WagonProviderMappingproviderMappingprivate java.util.Mapproxiesprivate ArtifactRepositoryFactoryrepositoryFactoryprivate java.util.Map<java.lang.String,org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration>serverConfigurationMapMap( String, XmlPlexusConfiguration ) with the repository id and the wagon configurationprivate java.util.MapserverPermissionsMapprivate java.util.Map<java.lang.String,java.lang.String>serverWagonProviderMapprivate static java.lang.StringWAGON_PROVIDER_CONFIGURATIONprivate static java.lang.StringWILDCARD-
Fields inherited from interface org.apache.maven.artifact.manager.WagonManager
ROLE
-
-
Constructor Summary
Constructors Constructor Description DefaultWagonManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAuthenticationInfo(java.lang.String repositoryId, java.lang.String username, java.lang.String password, java.lang.String privateKey, java.lang.String passphrase)voidaddConfiguration(java.lang.String repositoryId, org.codehaus.plexus.util.xml.Xpp3Dom configuration)Set the configuration for a repositoryvoidaddMirror(java.lang.String id, java.lang.String mirrorOf, java.lang.String url)voidaddPermissionInfo(java.lang.String repositoryId, java.lang.String filePermissions, java.lang.String directoryPermissions)voidaddProxy(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 voidconfigureWagon(org.apache.maven.wagon.Wagon wagon, java.lang.String repositoryId, java.lang.String protocol)private voidconfigureWagon(org.apache.maven.wagon.Wagon wagon, ArtifactRepository repository)Applies the server configuration to the wagonvoidcontextualize(org.codehaus.plexus.context.Context context)private voiddisconnectWagon(org.apache.maven.wagon.Wagon wagon)private voidfailIfNotOnline()voidgetArtifact(Artifact artifact, java.util.List remoteRepositories)voidgetArtifact(Artifact artifact, ArtifactRepository repository)voidgetArtifactMetadata(ArtifactMetadata metadata, ArtifactRepository repository, java.io.File destination, java.lang.String checksumPolicy)voidgetArtifactMetadataFromDeploymentRepository(ArtifactMetadata metadata, ArtifactRepository repository, java.io.File destination, java.lang.String checksumPolicy)org.apache.maven.wagon.authentication.AuthenticationInfogetAuthenticationInfo(java.lang.String id)java.lang.StringgetHttpUserAgent()ArtifactRepositorygetMirror(ArtifactRepository originalRepository)This method finds a matching mirror for the selected repository.ArtifactRepositorygetMirrorRepository(ArtifactRepository repository)org.apache.maven.wagon.proxy.ProxyInfogetProxy(java.lang.String protocol)private voidgetRemoteFile(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.WagongetWagon(java.lang.String protocol)Get a Wagon provider that understands the protocol passed as argument.private org.apache.maven.wagon.WagongetWagon(java.lang.String protocol, java.lang.String repositoryId)org.apache.maven.wagon.WagongetWagon(org.apache.maven.wagon.repository.Repository repository)Get a Wagon provider for the provided repository.private org.codehaus.plexus.PlexusContainergetWagonContainer(java.lang.String hint)private java.lang.StringgetWagonHint(java.lang.String protocol, java.lang.String repositoryId)private voidhandleChecksumFailure(java.lang.String checksumPolicy, java.lang.String message, java.lang.Throwable cause)voidinitialize()booleanisExternalRepo(ArtifactRepository originalRepository)Checks the URL to see if this repository refers to an external repositorybooleanisOnline()booleanmatchPattern(ArtifactRepository originalRepository, java.lang.String pattern)This method checks if the pattern matches the originalRepository.voidputArtifact(java.io.File source, Artifact artifact, ArtifactRepository deploymentRepository)voidputArtifactMetadata(java.io.File source, ArtifactMetadata artifactMetadata, ArtifactRepository repository)private voidputRemoteFile(ArtifactRepository repository, java.io.File source, java.lang.String remotePath, org.apache.maven.wagon.events.TransferListener downloadMonitor)voidregisterWagons(java.util.Collection wagons, org.codehaus.plexus.PlexusContainer extensionContainer)private voidreleaseWagon(java.lang.String protocol, org.apache.maven.wagon.Wagon wagon, java.lang.String repositoryId)voidsetDefaultRepositoryPermissions(org.apache.maven.wagon.repository.RepositoryPermissions defaultRepositoryPermissions)voidsetDownloadMonitor(org.apache.maven.wagon.events.TransferListener downloadMonitor)voidsetHttpUserAgent(java.lang.String userAgent)voidsetInteractive(boolean interactive)voidsetOnline(boolean online)private org.codehaus.plexus.configuration.PlexusConfigurationupdateUserAgentForHttp(org.apache.maven.wagon.Wagon wagon, org.codehaus.plexus.configuration.PlexusConfiguration config)private voidverifyChecksum(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)
-
-
-
Field Detail
-
WILDCARD
private static final java.lang.String WILDCARD
- See Also:
- Constant Field Values
-
EXTERNAL_WILDCARD
private static final java.lang.String EXTERNAL_WILDCARD
- See Also:
- Constant Field Values
-
MAVEN_ARTIFACT_PROPERTIES
private static final java.lang.String MAVEN_ARTIFACT_PROPERTIES
- See Also:
- Constant Field Values
-
WAGON_PROVIDER_CONFIGURATION
private static final java.lang.String WAGON_PROVIDER_CONFIGURATION
- See Also:
- Constant Field Values
-
anonymousMirrorIdSeed
private static int anonymousMirrorIdSeed
-
container
private org.codehaus.plexus.PlexusContainer container
-
proxies
private java.util.Map proxies
-
authenticationInfoMap
private java.util.Map authenticationInfoMap
-
serverPermissionsMap
private java.util.Map serverPermissionsMap
-
mirrors
private java.util.Map mirrors
-
serverConfigurationMap
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
-
serverWagonProviderMap
private java.util.Map<java.lang.String,java.lang.String> serverWagonProviderMap
-
downloadMonitor
private org.apache.maven.wagon.events.TransferListener downloadMonitor
-
online
private boolean online
-
repositoryFactory
private ArtifactRepositoryFactory repositoryFactory
-
interactive
private boolean interactive
-
availableWagons
private java.util.Map<java.lang.String,org.codehaus.plexus.PlexusContainer> availableWagons
-
defaultRepositoryPermissions
private org.apache.maven.wagon.repository.RepositoryPermissions defaultRepositoryPermissions
-
httpUserAgent
private java.lang.String httpUserAgent
-
providerMapping
private WagonProviderMapping providerMapping
-
-
Method Detail
-
getWagon
public org.apache.maven.wagon.Wagon getWagon(org.apache.maven.wagon.repository.Repository repository) throws org.apache.maven.wagon.UnsupportedProtocolException, WagonConfigurationExceptionDescription copied from interface:WagonManagerGet a Wagon provider for the provided repository. It will configure the Wagon for that repository.- Specified by:
getWagonin interfaceWagonManager- Parameters:
repository- the repository- Returns:
- the
Wagoninstance that can be used to connect to the repository - Throws:
org.apache.maven.wagon.UnsupportedProtocolException- if there is no provider able to handle the protocolWagonConfigurationException- if the wagon can't be configured for the repository
-
getWagon
public org.apache.maven.wagon.Wagon getWagon(java.lang.String protocol) throws org.apache.maven.wagon.UnsupportedProtocolExceptionDescription copied from interface:WagonManagerGet a Wagon provider that understands the protocol passed as argument. It doesn't configure the Wagon.- Specified by:
getWagonin interfaceWagonManager- Parameters:
protocol- the protocol theWagonwill handle- Returns:
- the
Wagoninstance able to handle the protocol provided - Throws:
org.apache.maven.wagon.UnsupportedProtocolException- if there is no provider able to handle the protocol
-
getWagon
private org.apache.maven.wagon.Wagon getWagon(java.lang.String protocol, java.lang.String repositoryId) throws org.apache.maven.wagon.UnsupportedProtocolException- Throws:
org.apache.maven.wagon.UnsupportedProtocolException
-
getWagonHint
private java.lang.String getWagonHint(java.lang.String protocol, java.lang.String repositoryId)
-
getWagonContainer
private org.codehaus.plexus.PlexusContainer getWagonContainer(java.lang.String hint)
-
putArtifact
public void putArtifact(java.io.File source, Artifact artifact, ArtifactRepository deploymentRepository) throws org.apache.maven.wagon.TransferFailedException- Specified by:
putArtifactin interfaceWagonManager- Throws:
org.apache.maven.wagon.TransferFailedException
-
putArtifactMetadata
public void putArtifactMetadata(java.io.File source, ArtifactMetadata artifactMetadata, ArtifactRepository repository) throws org.apache.maven.wagon.TransferFailedException- Specified by:
putArtifactMetadatain interfaceWagonManager- Throws:
org.apache.maven.wagon.TransferFailedException
-
putRemoteFile
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
- Throws:
org.apache.maven.wagon.TransferFailedException
-
getArtifact
public void getArtifact(Artifact artifact, java.util.List remoteRepositories) throws org.apache.maven.wagon.TransferFailedException, org.apache.maven.wagon.ResourceDoesNotExistException
- Specified by:
getArtifactin interfaceWagonManager- Throws:
org.apache.maven.wagon.TransferFailedExceptionorg.apache.maven.wagon.ResourceDoesNotExistException
-
getArtifact
public void getArtifact(Artifact artifact, ArtifactRepository repository) throws org.apache.maven.wagon.TransferFailedException, org.apache.maven.wagon.ResourceDoesNotExistException
- Specified by:
getArtifactin interfaceWagonManager- Throws:
org.apache.maven.wagon.TransferFailedExceptionorg.apache.maven.wagon.ResourceDoesNotExistException
-
getArtifactMetadata
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
- Specified by:
getArtifactMetadatain interfaceWagonManager- Throws:
org.apache.maven.wagon.TransferFailedExceptionorg.apache.maven.wagon.ResourceDoesNotExistException
-
getArtifactMetadataFromDeploymentRepository
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
- Specified by:
getArtifactMetadataFromDeploymentRepositoryin interfaceWagonManager- Throws:
org.apache.maven.wagon.TransferFailedExceptionorg.apache.maven.wagon.ResourceDoesNotExistException
-
getRemoteFile
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
- Throws:
org.apache.maven.wagon.TransferFailedExceptionorg.apache.maven.wagon.ResourceDoesNotExistException
-
getMirrorRepository
public ArtifactRepository getMirrorRepository(ArtifactRepository repository)
- Specified by:
getMirrorRepositoryin interfaceWagonManager
-
failIfNotOnline
private void failIfNotOnline() throws org.apache.maven.wagon.TransferFailedException- Throws:
org.apache.maven.wagon.TransferFailedException
-
handleChecksumFailure
private void handleChecksumFailure(java.lang.String checksumPolicy, java.lang.String message, java.lang.Throwable cause) throws ChecksumFailedException- Throws:
ChecksumFailedException
-
verifyChecksum
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- Throws:
org.apache.maven.wagon.ResourceDoesNotExistExceptionorg.apache.maven.wagon.TransferFailedExceptionorg.apache.maven.wagon.authorization.AuthorizationException
-
disconnectWagon
private void disconnectWagon(org.apache.maven.wagon.Wagon wagon)
-
releaseWagon
private void releaseWagon(java.lang.String protocol, org.apache.maven.wagon.Wagon wagon, java.lang.String repositoryId)
-
getProxy
public org.apache.maven.wagon.proxy.ProxyInfo getProxy(java.lang.String protocol)
- Specified by:
getProxyin interfaceWagonManager
-
getAuthenticationInfo
public org.apache.maven.wagon.authentication.AuthenticationInfo getAuthenticationInfo(java.lang.String id)
- Specified by:
getAuthenticationInfoin interfaceWagonManager
-
getMirror
public ArtifactRepository getMirror(ArtifactRepository originalRepository)
This method finds a matching mirror for the selected repository. If there is an exact match, this will be used. If there is no exact match, then the list of mirrors is examined to see if a pattern applies.- Parameters:
originalRepository- See if there is a mirror for this repository.- Returns:
- the selected mirror or null if none are found.
-
matchPattern
public boolean matchPattern(ArtifactRepository originalRepository, java.lang.String pattern)
This method checks if the pattern matches the originalRepository. Valid patterns: * = everything external:* = everything not on the localhost and not file based. repo,repo1 = repo or repo1 *,!repo1 = everything except repo1- Parameters:
originalRepository- to compare for a match.pattern- used for match. Currently only '*' is supported.- Returns:
- true if the repository is a match to this pattern.
-
isExternalRepo
public boolean isExternalRepo(ArtifactRepository originalRepository)
Checks the URL to see if this repository refers to an external repository- Parameters:
originalRepository-- Returns:
- true if external.
-
addProxy
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)Set the proxy used for a particular protocol.- Specified by:
addProxyin interfaceWagonManager- Parameters:
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.
-
contextualize
public void contextualize(org.codehaus.plexus.context.Context context) throws org.codehaus.plexus.context.ContextException- Specified by:
contextualizein interfaceorg.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable- Throws:
org.codehaus.plexus.context.ContextException
-
setDownloadMonitor
public void setDownloadMonitor(org.apache.maven.wagon.events.TransferListener downloadMonitor)
- Specified by:
setDownloadMonitorin interfaceWagonManager
-
addAuthenticationInfo
public void addAuthenticationInfo(java.lang.String repositoryId, java.lang.String username, java.lang.String password, java.lang.String privateKey, java.lang.String passphrase)- Specified by:
addAuthenticationInfoin interfaceWagonManager
-
addPermissionInfo
public void addPermissionInfo(java.lang.String repositoryId, java.lang.String filePermissions, java.lang.String directoryPermissions)- Specified by:
addPermissionInfoin interfaceWagonManager
-
addMirror
public void addMirror(java.lang.String id, java.lang.String mirrorOf, java.lang.String url)- Specified by:
addMirrorin interfaceWagonManager
-
setOnline
public void setOnline(boolean online)
- Specified by:
setOnlinein interfaceWagonManager
-
isOnline
public boolean isOnline()
- Specified by:
isOnlinein interfaceWagonManager
-
setInteractive
public void setInteractive(boolean interactive)
- Specified by:
setInteractivein interfaceWagonManager
-
registerWagons
public void registerWagons(java.util.Collection wagons, org.codehaus.plexus.PlexusContainer extensionContainer)- Specified by:
registerWagonsin interfaceWagonManager
-
configureWagon
private void configureWagon(org.apache.maven.wagon.Wagon wagon, ArtifactRepository repository) throws WagonConfigurationExceptionApplies the server configuration to the wagon- Parameters:
wagon- the wagon to configurerepository- the repository that has the configuration- Throws:
WagonConfigurationException- wraps any error given during configuration of the wagon instance
-
configureWagon
private void configureWagon(org.apache.maven.wagon.Wagon wagon, java.lang.String repositoryId, java.lang.String protocol) throws WagonConfigurationException- Throws:
WagonConfigurationException
-
updateUserAgentForHttp
private org.codehaus.plexus.configuration.PlexusConfiguration updateUserAgentForHttp(org.apache.maven.wagon.Wagon wagon, org.codehaus.plexus.configuration.PlexusConfiguration config)
-
addConfiguration
public void addConfiguration(java.lang.String repositoryId, org.codehaus.plexus.util.xml.Xpp3Dom configuration)Description copied from interface:WagonManagerSet the configuration for a repository- Specified by:
addConfigurationin interfaceWagonManager- Parameters:
repositoryId- id of the repository to set the configuration toconfiguration- dom tree of the xml with the configuration for theWagon
-
setDefaultRepositoryPermissions
public void setDefaultRepositoryPermissions(org.apache.maven.wagon.repository.RepositoryPermissions defaultRepositoryPermissions)
- Specified by:
setDefaultRepositoryPermissionsin interfaceWagonManager
-
initialize
public void initialize() throws org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException- Specified by:
initializein interfaceorg.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable- Throws:
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
-
setHttpUserAgent
public void setHttpUserAgent(java.lang.String userAgent)
-
getHttpUserAgent
public java.lang.String getHttpUserAgent()
-
-