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 Object
implements ArtifactMetadataSource
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ArtifactFactoryprivate MavenMetadataCacheprivate org.codehaus.plexus.PlexusContainerprivate LegacySupportprivate org.codehaus.plexus.logging.Loggerprivate ProjectBuilderprivate RepositoryMetadataManagerprivate MavenRepositorySystem -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate List<ArtifactRepository> aggregateRepositories(List<ArtifactRepository> requestRepositories, List<ArtifactRepository> pomRepositories) createArtifacts(ArtifactFactory artifactFactory, List<Dependency> dependencies, String inheritedScope, ArtifactFilter dependencyFilter, MavenProject project) Deprecated.private static ArtifactcreateDependencyArtifact(ArtifactFactory factory, Dependency dependency, String inheritedScope, ArtifactFilter inheritedFilter) private ArtifactcreateDependencyArtifact(Dependency dependency, Artifact owner, Artifact pom) private static ArtifactFiltercreateDependencyFilter(Dependency dependency, ArtifactFilter inheritedFilter) private static StringgetEffectiveScope(String originalScope, String inheritedScope) private ProjectBuilderprivate List<ArtifactRepository> getRepositoriesFromModel(org.eclipse.aether.RepositorySystemSession repositorySession, Model model) private Propertiesprivate booleanprivate ModelProblemprivate voidinjectSession(MetadataResolutionRequest request) private booleanprivate booleanretrieve(Artifact artifact, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories) retrieve(Artifact artifact, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories, boolean resolveManagedVersions) retrieve(MetadataResolutionRequest request) retrieveAvailableVersions(Artifact artifact, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories) Get a list of available versions for an artifact in the remote repositoryretrieveAvailableVersionsFromDeploymentRepository(Artifact artifact, ArtifactRepository localRepository, ArtifactRepository deploymentRepository) Get a list of available versions for an artifact in the remote deployment repository.private List<ArtifactVersion> retrieveAvailableVersionsFromMetadata(Metadata repoMetadata, List<String> availableVersions) retrieveRelocatedProject(Artifact artifact, MetadataResolutionRequest repositoryRequest)
-
Field Details
-
repositoryMetadataManager
-
artifactFactory
-
repositorySystem
-
projectBuilder
-
container
@Requirement private org.codehaus.plexus.PlexusContainer container -
logger
@Requirement private org.codehaus.plexus.logging.Logger logger -
cache
-
legacySupport
-
-
Constructor Details
-
MavenMetadataSource
public MavenMetadataSource()
-
-
Method Details
-
injectSession
-
retrieve
public ResolutionGroup retrieve(Artifact artifact, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories) throws ArtifactMetadataRetrievalException - Specified by:
retrievein interfaceArtifactMetadataSource- Specified by:
retrievein interfaceArtifactMetadataSource- Throws:
ArtifactMetadataRetrievalException
-
retrieve
public ResolutionGroup retrieve(Artifact artifact, ArtifactRepository localRepository, 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
-
getRepositoriesFromModel
private List<ArtifactRepository> getRepositoriesFromModel(org.eclipse.aether.RepositorySystemSession repositorySession, Model model) -
hasFile
-
aggregateRepositories
private List<ArtifactRepository> aggregateRepositories(List<ArtifactRepository> requestRepositories, List<ArtifactRepository> pomRepositories) -
createDependencyArtifact
private Artifact createDependencyArtifact(Dependency dependency, Artifact owner, Artifact pom) throws ArtifactMetadataRetrievalException -
createDependencyArtifact
private static Artifact createDependencyArtifact(ArtifactFactory factory, Dependency dependency, String inheritedScope, ArtifactFilter inheritedFilter) throws InvalidVersionSpecificationException -
getEffectiveScope
-
createDependencyFilter
private static ArtifactFilter createDependencyFilter(Dependency dependency, ArtifactFilter inheritedFilter) -
retrieveAvailableVersions
public List<ArtifactVersion> retrieveAvailableVersions(Artifact artifact, ArtifactRepository localRepository, 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
-
retrieveAvailableVersions
public List<ArtifactVersion> retrieveAvailableVersions(MetadataResolutionRequest request) throws ArtifactMetadataRetrievalException - Specified by:
retrieveAvailableVersionsin interfaceArtifactMetadataSource- Throws:
ArtifactMetadataRetrievalException
-
retrieveAvailableVersionsFromDeploymentRepository
public 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
-
retrieveAvailableVersionsFromMetadata
private List<ArtifactVersion> retrieveAvailableVersionsFromMetadata(Metadata repoMetadata, List<String> availableVersions) -
createArtifacts
@Deprecated public static Set<Artifact> createArtifacts(ArtifactFactory artifactFactory, List<Dependency> dependencies, String inheritedScope, ArtifactFilter dependencyFilter, MavenProject project) throws InvalidDependencyVersionException Deprecated. -
getProjectBuilder
-
retrieveRelocatedProject
private MavenMetadataSource.ProjectRelocation retrieveRelocatedProject(Artifact artifact, MetadataResolutionRequest repositoryRequest) throws ArtifactMetadataRetrievalException -
hasMissingParentPom
-
isMissingPom
-
isNonTransferrablePom
-
getSystemProperties
-