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
FieldsModifier and TypeFieldDescriptionprivate static int
private Map
private org.codehaus.plexus.PlexusContainer
private org.apache.maven.wagon.repository.RepositoryPermissions
private org.apache.maven.wagon.events.TransferListener
private static final String
private String
private boolean
private static final String
private Map
private boolean
private WagonProviderMapping
private Map
private ArtifactRepositoryFactory
Map( String, XmlPlexusConfiguration ) with the repository id and the wagon configurationprivate Map
private static final String
private static final String
Fields inherited from interface org.apache.maven.artifact.manager.WagonManager
ROLE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAuthenticationInfo
(String repositoryId, String username, String password, String privateKey, String passphrase) void
addConfiguration
(String repositoryId, org.codehaus.plexus.util.xml.Xpp3Dom configuration) Set the configuration for a repositoryvoid
void
addPermissionInfo
(String repositoryId, String filePermissions, String directoryPermissions) void
addProxy
(String protocol, String host, int port, String username, String password, String nonProxyHosts) Set the proxy used for a particular protocol.private void
configureWagon
(org.apache.maven.wagon.Wagon wagon, String repositoryId, String protocol) private void
configureWagon
(org.apache.maven.wagon.Wagon wagon, ArtifactRepository repository) Applies the server configuration to the wagonvoid
contextualize
(org.codehaus.plexus.context.Context context) private void
disconnectWagon
(org.apache.maven.wagon.Wagon wagon) private void
void
getArtifact
(Artifact artifact, List remoteRepositories) void
getArtifact
(Artifact artifact, ArtifactRepository repository) void
getArtifactMetadata
(ArtifactMetadata metadata, ArtifactRepository repository, File destination, String checksumPolicy) void
getArtifactMetadataFromDeploymentRepository
(ArtifactMetadata metadata, ArtifactRepository repository, File destination, String checksumPolicy) org.apache.maven.wagon.authentication.AuthenticationInfo
getMirror
(ArtifactRepository originalRepository) This method finds a matching mirror for the selected repository.getMirrorRepository
(ArtifactRepository repository) org.apache.maven.wagon.proxy.ProxyInfo
private void
getRemoteFile
(ArtifactRepository repository, File destination, String remotePath, org.apache.maven.wagon.events.TransferListener downloadMonitor, String checksumPolicy, boolean force) org.apache.maven.wagon.Wagon
Get a Wagon provider that understands the protocol passed as argument.private org.apache.maven.wagon.Wagon
org.apache.maven.wagon.Wagon
getWagon
(org.apache.maven.wagon.repository.Repository repository) Get a Wagon provider for the provided repository.private org.codehaus.plexus.PlexusContainer
getWagonContainer
(String hint) private String
getWagonHint
(String protocol, String repositoryId) private void
handleChecksumFailure
(String checksumPolicy, String message, Throwable cause) void
boolean
isExternalRepo
(ArtifactRepository originalRepository) Checks the URL to see if this repository refers to an external repositoryboolean
isOnline()
boolean
matchPattern
(ArtifactRepository originalRepository, String pattern) This method checks if the pattern matches the originalRepository.void
putArtifact
(File source, Artifact artifact, ArtifactRepository deploymentRepository) void
putArtifactMetadata
(File source, ArtifactMetadata artifactMetadata, ArtifactRepository repository) private void
putRemoteFile
(ArtifactRepository repository, File source, String remotePath, org.apache.maven.wagon.events.TransferListener downloadMonitor) void
registerWagons
(Collection wagons, org.codehaus.plexus.PlexusContainer extensionContainer) private void
releaseWagon
(String protocol, org.apache.maven.wagon.Wagon wagon, String repositoryId) void
setDefaultRepositoryPermissions
(org.apache.maven.wagon.repository.RepositoryPermissions defaultRepositoryPermissions) void
setDownloadMonitor
(org.apache.maven.wagon.events.TransferListener downloadMonitor) void
setHttpUserAgent
(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, File destination, File tempDestination, String remotePath, String checksumFileExtension, org.apache.maven.wagon.Wagon wagon) Methods inherited from class org.codehaus.plexus.logging.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
-
Field Details
-
WILDCARD
- See Also:
-
EXTERNAL_WILDCARD
- See Also:
-
MAVEN_ARTIFACT_PROPERTIES
- See Also:
-
WAGON_PROVIDER_CONFIGURATION
- See Also:
-
anonymousMirrorIdSeed
private static int anonymousMirrorIdSeed -
container
private org.codehaus.plexus.PlexusContainer container -
proxies
-
authenticationInfoMap
-
serverPermissionsMap
-
mirrors
-
serverConfigurationMap
private Map<String,org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration> serverConfigurationMapMap( String, XmlPlexusConfiguration ) with the repository id and the wagon configuration -
serverWagonProviderMap
-
downloadMonitor
private org.apache.maven.wagon.events.TransferListener downloadMonitor -
online
private boolean online -
repositoryFactory
-
interactive
private boolean interactive -
availableWagons
-
defaultRepositoryPermissions
private org.apache.maven.wagon.repository.RepositoryPermissions defaultRepositoryPermissions -
httpUserAgent
-
providerMapping
-
-
Constructor Details
-
DefaultWagonManager
public DefaultWagonManager()
-
-
Method Details
-
getWagon
public org.apache.maven.wagon.Wagon getWagon(org.apache.maven.wagon.repository.Repository repository) throws org.apache.maven.wagon.UnsupportedProtocolException, WagonConfigurationException Description copied from interface:WagonManager
Get a Wagon provider for the provided repository. It will configure the Wagon for that repository.- Specified by:
getWagon
in interfaceWagonManager
- Parameters:
repository
- the repository- Returns:
- the
Wagon
instance 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(String protocol) throws org.apache.maven.wagon.UnsupportedProtocolException Description copied from interface:WagonManager
Get a Wagon provider that understands the protocol passed as argument. It doesn't configure the Wagon.- Specified by:
getWagon
in interfaceWagonManager
- Parameters:
protocol
- the protocol theWagon
will handle- Returns:
- the
Wagon
instance 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(String protocol, String repositoryId) throws org.apache.maven.wagon.UnsupportedProtocolException - Throws:
org.apache.maven.wagon.UnsupportedProtocolException
-
getWagonHint
-
getWagonContainer
-
putArtifact
public void putArtifact(File source, Artifact artifact, ArtifactRepository deploymentRepository) throws org.apache.maven.wagon.TransferFailedException - Specified by:
putArtifact
in interfaceWagonManager
- Throws:
org.apache.maven.wagon.TransferFailedException
-
putArtifactMetadata
public void putArtifactMetadata(File source, ArtifactMetadata artifactMetadata, ArtifactRepository repository) throws org.apache.maven.wagon.TransferFailedException - Specified by:
putArtifactMetadata
in interfaceWagonManager
- Throws:
org.apache.maven.wagon.TransferFailedException
-
putRemoteFile
private void putRemoteFile(ArtifactRepository repository, File source, 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, List remoteRepositories) throws org.apache.maven.wagon.TransferFailedException, org.apache.maven.wagon.ResourceDoesNotExistException - Specified by:
getArtifact
in interfaceWagonManager
- Throws:
org.apache.maven.wagon.TransferFailedException
org.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:
getArtifact
in interfaceWagonManager
- Throws:
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException
-
getArtifactMetadata
public void getArtifactMetadata(ArtifactMetadata metadata, ArtifactRepository repository, File destination, String checksumPolicy) throws org.apache.maven.wagon.TransferFailedException, org.apache.maven.wagon.ResourceDoesNotExistException - Specified by:
getArtifactMetadata
in interfaceWagonManager
- Throws:
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException
-
getArtifactMetadataFromDeploymentRepository
public void getArtifactMetadataFromDeploymentRepository(ArtifactMetadata metadata, ArtifactRepository repository, File destination, String checksumPolicy) throws org.apache.maven.wagon.TransferFailedException, org.apache.maven.wagon.ResourceDoesNotExistException - Specified by:
getArtifactMetadataFromDeploymentRepository
in interfaceWagonManager
- Throws:
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException
-
getRemoteFile
private void getRemoteFile(ArtifactRepository repository, File destination, String remotePath, org.apache.maven.wagon.events.TransferListener downloadMonitor, String checksumPolicy, boolean force) throws org.apache.maven.wagon.TransferFailedException, org.apache.maven.wagon.ResourceDoesNotExistException - Throws:
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException
-
getMirrorRepository
- Specified by:
getMirrorRepository
in interfaceWagonManager
-
failIfNotOnline
private void failIfNotOnline() throws org.apache.maven.wagon.TransferFailedException- Throws:
org.apache.maven.wagon.TransferFailedException
-
handleChecksumFailure
private void handleChecksumFailure(String checksumPolicy, String message, Throwable cause) throws ChecksumFailedException - Throws:
ChecksumFailedException
-
verifyChecksum
private void verifyChecksum(org.apache.maven.wagon.observers.ChecksumObserver checksumObserver, File destination, File tempDestination, String remotePath, 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.ResourceDoesNotExistException
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.authorization.AuthorizationException
-
disconnectWagon
private void disconnectWagon(org.apache.maven.wagon.Wagon wagon) -
releaseWagon
-
getProxy
- Specified by:
getProxy
in interfaceWagonManager
-
getAuthenticationInfo
- Specified by:
getAuthenticationInfo
in interfaceWagonManager
-
getMirror
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
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
Checks the URL to see if this repository refers to an external repository- Parameters:
originalRepository
-- Returns:
- true if external.
-
addProxy
public void addProxy(String protocol, String host, int port, String username, String password, String nonProxyHosts) Set the proxy used for a particular protocol.- Specified by:
addProxy
in 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:
contextualize
in 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:
setDownloadMonitor
in interfaceWagonManager
-
addAuthenticationInfo
public void addAuthenticationInfo(String repositoryId, String username, String password, String privateKey, String passphrase) - Specified by:
addAuthenticationInfo
in interfaceWagonManager
-
addPermissionInfo
public void addPermissionInfo(String repositoryId, String filePermissions, String directoryPermissions) - Specified by:
addPermissionInfo
in interfaceWagonManager
-
addMirror
- Specified by:
addMirror
in interfaceWagonManager
-
setOnline
public void setOnline(boolean online) - Specified by:
setOnline
in interfaceWagonManager
-
isOnline
public boolean isOnline()- Specified by:
isOnline
in interfaceWagonManager
-
setInteractive
public void setInteractive(boolean interactive) - Specified by:
setInteractive
in interfaceWagonManager
-
registerWagons
public void registerWagons(Collection wagons, org.codehaus.plexus.PlexusContainer extensionContainer) - Specified by:
registerWagons
in interfaceWagonManager
-
configureWagon
private void configureWagon(org.apache.maven.wagon.Wagon wagon, ArtifactRepository repository) throws WagonConfigurationException Applies 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, String repositoryId, 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(String repositoryId, org.codehaus.plexus.util.xml.Xpp3Dom configuration) Description copied from interface:WagonManager
Set the configuration for a repository- Specified by:
addConfiguration
in 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:
setDefaultRepositoryPermissions
in interfaceWagonManager
-
initialize
public void initialize() throws org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException- Specified by:
initialize
in interfaceorg.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
- Throws:
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
-
setHttpUserAgent
-
getHttpUserAgent
-