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 intprivate Mapprivate org.codehaus.plexus.PlexusContainerprivate org.apache.maven.wagon.repository.RepositoryPermissionsprivate org.apache.maven.wagon.events.TransferListenerprivate static final Stringprivate Stringprivate booleanprivate static final Stringprivate Mapprivate booleanprivate WagonProviderMappingprivate Mapprivate ArtifactRepositoryFactoryMap( String, XmlPlexusConfiguration ) with the repository id and the wagon configurationprivate Mapprivate static final Stringprivate static final StringFields inherited from interface org.apache.maven.artifact.manager.WagonManager
ROLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAuthenticationInfo(String repositoryId, String username, String password, String privateKey, String passphrase) voidaddConfiguration(String repositoryId, org.codehaus.plexus.util.xml.Xpp3Dom configuration) Set the configuration for a repositoryvoidvoidaddPermissionInfo(String repositoryId, String filePermissions, String directoryPermissions) voidaddProxy(String protocol, String host, int port, String username, String password, String nonProxyHosts) Set the proxy used for a particular protocol.private voidconfigureWagon(org.apache.maven.wagon.Wagon wagon, String repositoryId, 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 voidvoidgetArtifact(Artifact artifact, List remoteRepositories) voidgetArtifact(Artifact artifact, ArtifactRepository repository) voidgetArtifactMetadata(ArtifactMetadata metadata, ArtifactRepository repository, File destination, String checksumPolicy) voidgetArtifactMetadataFromDeploymentRepository(ArtifactMetadata metadata, ArtifactRepository repository, File destination, String checksumPolicy) org.apache.maven.wagon.authentication.AuthenticationInfogetMirror(ArtifactRepository originalRepository) This method finds a matching mirror for the selected repository.getMirrorRepository(ArtifactRepository repository) org.apache.maven.wagon.proxy.ProxyInfoprivate voidgetRemoteFile(ArtifactRepository repository, File destination, String remotePath, org.apache.maven.wagon.events.TransferListener downloadMonitor, String checksumPolicy, boolean force) org.apache.maven.wagon.WagonGet a Wagon provider that understands the protocol passed as argument.private org.apache.maven.wagon.Wagonorg.apache.maven.wagon.WagongetWagon(org.apache.maven.wagon.repository.Repository repository) Get a Wagon provider for the provided repository.private org.codehaus.plexus.PlexusContainergetWagonContainer(String hint) private StringgetWagonHint(String protocol, String repositoryId) private voidhandleChecksumFailure(String checksumPolicy, String message, Throwable cause) voidbooleanisExternalRepo(ArtifactRepository originalRepository) Checks the URL to see if this repository refers to an external repositorybooleanisOnline()booleanmatchPattern(ArtifactRepository originalRepository, String pattern) This method checks if the pattern matches the originalRepository.voidputArtifact(File source, Artifact artifact, ArtifactRepository deploymentRepository) voidputArtifactMetadata(File source, ArtifactMetadata artifactMetadata, ArtifactRepository repository) private voidputRemoteFile(ArtifactRepository repository, File source, String remotePath, org.apache.maven.wagon.events.TransferListener downloadMonitor) voidregisterWagons(Collection wagons, org.codehaus.plexus.PlexusContainer extensionContainer) private voidreleaseWagon(String protocol, org.apache.maven.wagon.Wagon wagon, String repositoryId) voidsetDefaultRepositoryPermissions(org.apache.maven.wagon.repository.RepositoryPermissions defaultRepositoryPermissions) voidsetDownloadMonitor(org.apache.maven.wagon.events.TransferListener downloadMonitor) voidsetHttpUserAgent(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, 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: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(String protocol) throws org.apache.maven.wagon.UnsupportedProtocolException Description 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(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:
putArtifactin 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:
putArtifactMetadatain 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:
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, File destination, 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, File destination, 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, 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.TransferFailedExceptionorg.apache.maven.wagon.ResourceDoesNotExistException
-
getMirrorRepository
- Specified by:
getMirrorRepositoryin 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.ResourceDoesNotExistExceptionorg.apache.maven.wagon.TransferFailedExceptionorg.apache.maven.wagon.authorization.AuthorizationException
-
disconnectWagon
private void disconnectWagon(org.apache.maven.wagon.Wagon wagon) -
releaseWagon
-
getProxy
- Specified by:
getProxyin interfaceWagonManager
-
getAuthenticationInfo
- Specified by:
getAuthenticationInfoin 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:
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(String repositoryId, String username, String password, String privateKey, String passphrase) - Specified by:
addAuthenticationInfoin interfaceWagonManager
-
addPermissionInfo
public void addPermissionInfo(String repositoryId, String filePermissions, String directoryPermissions) - Specified by:
addPermissionInfoin interfaceWagonManager
-
addMirror
- 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(Collection wagons, org.codehaus.plexus.PlexusContainer extensionContainer) - Specified by:
registerWagonsin 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: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
-
getHttpUserAgent
-