Class RemoteCatalogArchetypeDataSource
- java.lang.Object
-
- org.codehaus.plexus.logging.AbstractLogEnabled
-
- org.apache.maven.archetype.source.CatalogArchetypeDataSource
-
- org.apache.maven.archetype.source.RemoteCatalogArchetypeDataSource
-
- All Implemented Interfaces:
ArchetypeDataSource
,org.codehaus.plexus.logging.LogEnabled
@Component(role=ArchetypeDataSource.class, hint="remote-catalog") public class RemoteCatalogArchetypeDataSource extends CatalogArchetypeDataSource implements ArchetypeDataSource
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ARCHETYPE_REPOSITORY_ID
Id of the repository used to download catalog file.static java.lang.String
CENTRAL_REPOSITORY_ID
private static java.lang.String
EXTERNAL_WILDCARD
private org.apache.maven.plugin.LegacySupport
legacySupport
private org.apache.maven.settings.crypto.SettingsDecrypter
settingsDecrypter
private java.util.Map<java.lang.String,org.apache.maven.wagon.Wagon>
wagons
private static java.lang.String
WILDCARD
-
Fields inherited from class org.apache.maven.archetype.source.CatalogArchetypeDataSource
ARCHETYPE_CATALOG_PROPERTY
-
Fields inherited from interface org.apache.maven.archetype.source.ArchetypeDataSource
ARCHETYPE_CATALOG_FILENAME
-
-
Constructor Summary
Constructors Constructor Description RemoteCatalogArchetypeDataSource()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
disconnectWagon(org.apache.maven.wagon.Wagon wagon)
private ArchetypeCatalog
downloadCatalog(org.apache.maven.artifact.repository.ArtifactRepository repository)
ArchetypeCatalog
getArchetypeCatalog(org.apache.maven.project.ProjectBuildingRequest buildingRequest)
private org.apache.maven.wagon.authentication.AuthenticationInfo
getAuthenticationInfo(java.lang.String id)
private org.apache.maven.settings.Mirror
getMirror(java.lang.String repoId)
private org.apache.maven.settings.Mirror
getMirror(java.lang.String repoId, java.util.List<org.apache.maven.settings.Mirror> mirrors)
private org.apache.maven.wagon.proxy.ProxyInfo
getProxy(java.lang.String protocol)
private org.apache.maven.wagon.Wagon
getWagon(java.lang.String protocol)
private org.apache.maven.wagon.Wagon
getWagon(org.apache.maven.wagon.repository.Repository repository)
(package private) static boolean
matchesLayout(java.lang.String repoLayout, java.lang.String mirrorLayout)
Checks whether the layouts configured for a mirror match with the layout of the repository.(package private) static boolean
matchesLayout(org.apache.maven.artifact.repository.ArtifactRepository repository, org.apache.maven.settings.Mirror mirror)
(package private) static boolean
matchPattern(java.lang.String originalId, java.lang.String pattern)
This method checks if the pattern matches the originalRepository.void
updateCatalog(org.apache.maven.project.ProjectBuildingRequest buildingRequest, Archetype archetype)
-
Methods inherited from class org.apache.maven.archetype.source.CatalogArchetypeDataSource
readCatalog, writeLocalCatalog
-
-
-
-
Field Detail
-
wagons
@Requirement private java.util.Map<java.lang.String,org.apache.maven.wagon.Wagon> wagons
-
legacySupport
@Requirement private org.apache.maven.plugin.LegacySupport legacySupport
-
settingsDecrypter
@Requirement private org.apache.maven.settings.crypto.SettingsDecrypter settingsDecrypter
-
ARCHETYPE_REPOSITORY_ID
public static final java.lang.String ARCHETYPE_REPOSITORY_ID
Id of the repository used to download catalog file. Proxy or authentication info can be setup in settings.xml.- See Also:
- Constant Field Values
-
CENTRAL_REPOSITORY_ID
public static final java.lang.String CENTRAL_REPOSITORY_ID
- See Also:
- Constant Field Values
-
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
-
-
Method Detail
-
getArchetypeCatalog
public ArchetypeCatalog getArchetypeCatalog(org.apache.maven.project.ProjectBuildingRequest buildingRequest) throws ArchetypeDataSourceException
- Specified by:
getArchetypeCatalog
in interfaceArchetypeDataSource
- Throws:
ArchetypeDataSourceException
-
updateCatalog
public void updateCatalog(org.apache.maven.project.ProjectBuildingRequest buildingRequest, Archetype archetype) throws ArchetypeDataSourceException
- Specified by:
updateCatalog
in interfaceArchetypeDataSource
- Throws:
ArchetypeDataSourceException
-
downloadCatalog
private ArchetypeCatalog downloadCatalog(org.apache.maven.artifact.repository.ArtifactRepository repository) throws org.apache.maven.wagon.WagonException, java.io.IOException, ArchetypeDataSourceException
- Throws:
org.apache.maven.wagon.WagonException
java.io.IOException
ArchetypeDataSourceException
-
disconnectWagon
private void disconnectWagon(org.apache.maven.wagon.Wagon wagon)
-
getWagon
private org.apache.maven.wagon.Wagon getWagon(org.apache.maven.wagon.repository.Repository repository) throws org.apache.maven.wagon.UnsupportedProtocolException
- Throws:
org.apache.maven.wagon.UnsupportedProtocolException
-
getWagon
private org.apache.maven.wagon.Wagon getWagon(java.lang.String protocol) throws org.apache.maven.wagon.UnsupportedProtocolException
- Throws:
org.apache.maven.wagon.UnsupportedProtocolException
-
getAuthenticationInfo
private org.apache.maven.wagon.authentication.AuthenticationInfo getAuthenticationInfo(java.lang.String id)
-
getProxy
private org.apache.maven.wagon.proxy.ProxyInfo getProxy(java.lang.String protocol)
-
getMirror
private org.apache.maven.settings.Mirror getMirror(java.lang.String repoId)
-
getMirror
private org.apache.maven.settings.Mirror getMirror(java.lang.String repoId, java.util.List<org.apache.maven.settings.Mirror> mirrors)
-
matchPattern
static boolean matchPattern(java.lang.String originalId, 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.
-
matchesLayout
static boolean matchesLayout(org.apache.maven.artifact.repository.ArtifactRepository repository, org.apache.maven.settings.Mirror mirror)
-
matchesLayout
static boolean matchesLayout(java.lang.String repoLayout, java.lang.String mirrorLayout)
Checks whether the layouts configured for a mirror match with the layout of the repository.- Parameters:
repoLayout
- The layout of the repository, may benull
.mirrorLayout
- The layouts supported by the mirror, may benull
.- Returns:
true
if the layouts associated with the mirror match the layout of the original repository,false
otherwise.
-
-