Class MavenMetadataSource
- java.lang.Object
-
- org.apache.maven.project.artifact.MavenMetadataSource
-
- All Implemented Interfaces:
ArtifactMetadataSource,ArtifactMetadataSource
- Direct Known Subclasses:
DefaultMetadataSource
@Component(role=ArtifactMetadataSource.class, hint="maven") public class MavenMetadataSource extends java.lang.Object implements ArtifactMetadataSource
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classMavenMetadataSource.ProjectRelocation
-
Field Summary
Fields Modifier and Type Field Description private MavenMetadataCachecacheprivate org.codehaus.plexus.PlexusContainercontainerprivate LegacySupportlegacySupportprivate org.codehaus.plexus.logging.Loggerloggerprivate ProjectBuilderprojectBuilderprivate RepositoryMetadataManagerrepositoryMetadataManagerprivate ArtifactFactoryrepositorySystem
-
Constructor Summary
Constructors Constructor Description MavenMetadataSource()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description private java.util.List<ArtifactRepository>aggregateRepositories(java.util.List<ArtifactRepository> requestRepositories, java.util.List<ArtifactRepository> pomRepositories)static java.util.Set<Artifact>createArtifacts(ArtifactFactory artifactFactory, java.util.List<Dependency> dependencies, java.lang.String inheritedScope, ArtifactFilter dependencyFilter, MavenProject project)Deprecated.private static ArtifactcreateDependencyArtifact(ArtifactFactory factory, Dependency dependency, java.lang.String inheritedScope, ArtifactFilter inheritedFilter)private ArtifactcreateDependencyArtifact(Dependency dependency, Artifact owner, Artifact pom)private static ArtifactFiltercreateDependencyFilter(Dependency dependency, ArtifactFilter inheritedFilter)private static java.lang.StringgetEffectiveScope(java.lang.String originalScope, java.lang.String inheritedScope)private ProjectBuildergetProjectBuilder()private java.util.PropertiesgetSystemProperties()private booleanhasFile(Artifact artifact)private ModelProblemhasMissingParentPom(ProjectBuildingException e)private voidinjectSession(MetadataResolutionRequest request)private booleanisMissingPom(java.lang.Exception e)private booleanisNonTransferrablePom(java.lang.Exception e)ResolutionGroupretrieve(Artifact artifact, ArtifactRepository localRepository, java.util.List<ArtifactRepository> remoteRepositories)ResolutionGroupretrieve(Artifact artifact, ArtifactRepository localRepository, java.util.List<ArtifactRepository> remoteRepositories, boolean resolveManagedVersions)ResolutionGroupretrieve(MetadataResolutionRequest request)java.util.List<ArtifactVersion>retrieveAvailableVersions(Artifact artifact, ArtifactRepository localRepository, java.util.List<ArtifactRepository> remoteRepositories)Get a list of available versions for an artifact in the remote repositoryjava.util.List<ArtifactVersion>retrieveAvailableVersions(MetadataResolutionRequest request)java.util.List<ArtifactVersion>retrieveAvailableVersionsFromDeploymentRepository(Artifact artifact, ArtifactRepository localRepository, ArtifactRepository deploymentRepository)Get a list of available versions for an artifact in the remote deployment repository.private java.util.List<ArtifactVersion>retrieveAvailableVersionsFromMetadata(Metadata repoMetadata, java.util.List<java.lang.String> availableVersions)private MavenMetadataSource.ProjectRelocationretrieveRelocatedProject(Artifact artifact, MetadataResolutionRequest repositoryRequest)
-
-
-
Field Detail
-
repositoryMetadataManager
@Requirement private RepositoryMetadataManager repositoryMetadataManager
-
repositorySystem
@Requirement private ArtifactFactory repositorySystem
-
projectBuilder
private ProjectBuilder projectBuilder
-
container
@Requirement private org.codehaus.plexus.PlexusContainer container
-
logger
@Requirement private org.codehaus.plexus.logging.Logger logger
-
cache
@Requirement private MavenMetadataCache cache
-
legacySupport
@Requirement private LegacySupport legacySupport
-
-
Method Detail
-
injectSession
private void injectSession(MetadataResolutionRequest request)
-
retrieve
public ResolutionGroup retrieve(Artifact artifact, ArtifactRepository localRepository, java.util.List<ArtifactRepository> remoteRepositories) throws ArtifactMetadataRetrievalException
- Specified by:
retrievein interfaceArtifactMetadataSource- Specified by:
retrievein interfaceArtifactMetadataSource- Throws:
ArtifactMetadataRetrievalException
-
retrieve
public ResolutionGroup retrieve(Artifact artifact, ArtifactRepository localRepository, java.util.List<ArtifactRepository> remoteRepositories, boolean resolveManagedVersions) throws ArtifactMetadataRetrievalException
-
retrieve
public ResolutionGroup retrieve(MetadataResolutionRequest request) throws ArtifactMetadataRetrievalException
- Specified by:
retrievein interfaceArtifactMetadataSource- Specified by:
retrievein interfaceArtifactMetadataSource- Throws:
ArtifactMetadataRetrievalException
-
hasFile
private boolean hasFile(Artifact artifact)
-
aggregateRepositories
private java.util.List<ArtifactRepository> aggregateRepositories(java.util.List<ArtifactRepository> requestRepositories, java.util.List<ArtifactRepository> pomRepositories)
-
createDependencyArtifact
private Artifact createDependencyArtifact(Dependency dependency, Artifact owner, Artifact pom) throws ArtifactMetadataRetrievalException
-
createDependencyArtifact
private static Artifact createDependencyArtifact(ArtifactFactory factory, Dependency dependency, java.lang.String inheritedScope, ArtifactFilter inheritedFilter) throws InvalidVersionSpecificationException
-
getEffectiveScope
private static java.lang.String getEffectiveScope(java.lang.String originalScope, java.lang.String inheritedScope)
-
createDependencyFilter
private static ArtifactFilter createDependencyFilter(Dependency dependency, ArtifactFilter inheritedFilter)
-
retrieveAvailableVersions
public java.util.List<ArtifactVersion> retrieveAvailableVersions(Artifact artifact, ArtifactRepository localRepository, java.util.List<ArtifactRepository> remoteRepositories) throws ArtifactMetadataRetrievalException
Description copied from interface:ArtifactMetadataSourceGet a list of available versions for an artifact in the remote repository- Specified by:
retrieveAvailableVersionsin interfaceArtifactMetadataSource- Specified by:
retrieveAvailableVersionsin interfaceArtifactMetadataSource- Parameters:
artifact- artifact we are interested in. OnlygroupidandartifactIdare needed, for instance the following code will workartifactFactory.createProjectArtifact( "org.apache.maven", "maven", "" )localRepository- local repositoryremoteRepositories- remote repositories,List$lt;ArtifactRepository>- Returns:
List$lt;ArtifactVersion>- Throws:
ArtifactMetadataRetrievalException- in case of error while retrieving repository metadata from the repository.ArtifactMetadataRetrievalException
-
retrieveAvailableVersions
public java.util.List<ArtifactVersion> retrieveAvailableVersions(MetadataResolutionRequest request) throws ArtifactMetadataRetrievalException
- Specified by:
retrieveAvailableVersionsin interfaceArtifactMetadataSource- Throws:
ArtifactMetadataRetrievalException
-
retrieveAvailableVersionsFromDeploymentRepository
public java.util.List<ArtifactVersion> retrieveAvailableVersionsFromDeploymentRepository(Artifact artifact, ArtifactRepository localRepository, ArtifactRepository deploymentRepository) throws ArtifactMetadataRetrievalException
Description copied from interface:ArtifactMetadataSourceGet a list of available versions for an artifact in the remote deployment repository. This ignores any update policy checks and mirrors and always retrieves the latest information from the given repository.- Specified by:
retrieveAvailableVersionsFromDeploymentRepositoryin interfaceArtifactMetadataSource- Specified by:
retrieveAvailableVersionsFromDeploymentRepositoryin interfaceArtifactMetadataSource- Parameters:
artifact- artifact we are interested in. OnlygroupidandartifactIdare needed, for instance the following code will workartifactFactory.createProjectArtifact( "org.apache.maven", "maven", "" )localRepository- local repositorydeploymentRepository- remote repository- Returns:
List$lt;ArtifactVersion>- Throws:
ArtifactMetadataRetrievalException- in case of error while retrieving repository metadata from the repository.ArtifactMetadataRetrievalException
-
retrieveAvailableVersionsFromMetadata
private java.util.List<ArtifactVersion> retrieveAvailableVersionsFromMetadata(Metadata repoMetadata, java.util.List<java.lang.String> availableVersions)
-
createArtifacts
@Deprecated public static java.util.Set<Artifact> createArtifacts(ArtifactFactory artifactFactory, java.util.List<Dependency> dependencies, java.lang.String inheritedScope, ArtifactFilter dependencyFilter, MavenProject project) throws InvalidDependencyVersionException
Deprecated.
-
getProjectBuilder
private ProjectBuilder getProjectBuilder()
-
retrieveRelocatedProject
private MavenMetadataSource.ProjectRelocation retrieveRelocatedProject(Artifact artifact, MetadataResolutionRequest repositoryRequest) throws ArtifactMetadataRetrievalException
-
hasMissingParentPom
private ModelProblem hasMissingParentPom(ProjectBuildingException e)
-
isMissingPom
private boolean isMissingPom(java.lang.Exception e)
-
isNonTransferrablePom
private boolean isNonTransferrablePom(java.lang.Exception e)
-
getSystemProperties
private java.util.Properties getSystemProperties()
-
-