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.StringARCHETYPE_REPOSITORY_IDId of the repository used to download catalog file.static java.lang.StringCENTRAL_REPOSITORY_IDprivate static java.lang.StringEXTERNAL_WILDCARDprivate org.apache.maven.plugin.LegacySupportlegacySupportprivate org.apache.maven.settings.crypto.SettingsDecryptersettingsDecrypterprivate java.util.Map<java.lang.String,org.apache.maven.wagon.Wagon>wagonsprivate static java.lang.StringWILDCARD-
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 voiddisconnectWagon(org.apache.maven.wagon.Wagon wagon)private ArchetypeCatalogdownloadCatalog(org.apache.maven.artifact.repository.ArtifactRepository repository)ArchetypeCataloggetArchetypeCatalog(org.apache.maven.project.ProjectBuildingRequest buildingRequest)private org.apache.maven.wagon.authentication.AuthenticationInfogetAuthenticationInfo(java.lang.String id)private org.apache.maven.settings.MirrorgetMirror(java.lang.String repoId)private org.apache.maven.settings.MirrorgetMirror(java.lang.String repoId, java.util.List<org.apache.maven.settings.Mirror> mirrors)private org.apache.maven.wagon.proxy.ProxyInfogetProxy(java.lang.String protocol)private org.apache.maven.wagon.WagongetWagon(java.lang.String protocol)private org.apache.maven.wagon.WagongetWagon(org.apache.maven.wagon.repository.Repository repository)(package private) static booleanmatchesLayout(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 booleanmatchesLayout(org.apache.maven.artifact.repository.ArtifactRepository repository, org.apache.maven.settings.Mirror mirror)(package private) static booleanmatchPattern(java.lang.String originalId, java.lang.String pattern)This method checks if the pattern matches the originalRepository.voidupdateCatalog(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:
getArchetypeCatalogin interfaceArchetypeDataSource- Throws:
ArchetypeDataSourceException
-
updateCatalog
public void updateCatalog(org.apache.maven.project.ProjectBuildingRequest buildingRequest, Archetype archetype) throws ArchetypeDataSourceException- Specified by:
updateCatalogin 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.WagonExceptionjava.io.IOExceptionArchetypeDataSourceException
-
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:
originalId- 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:
trueif the layouts associated with the mirror match the layout of the original repository,falseotherwise.
-
-