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 ArtifactFactory
private MavenMetadataCache
private org.codehaus.plexus.PlexusContainer
private LegacySupport
private org.codehaus.plexus.logging.Logger
private ProjectBuilder
private RepositoryMetadataManager
private 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 Artifact
createDependencyArtifact
(ArtifactFactory factory, Dependency dependency, String inheritedScope, ArtifactFilter inheritedFilter) private Artifact
createDependencyArtifact
(Dependency dependency, Artifact owner, Artifact pom) private static ArtifactFilter
createDependencyFilter
(Dependency dependency, ArtifactFilter inheritedFilter) private static String
getEffectiveScope
(String originalScope, String inheritedScope) private ProjectBuilder
private List<ArtifactRepository>
getRepositoriesFromModel
(org.eclipse.aether.RepositorySystemSession repositorySession, Model model) private Properties
private boolean
private ModelProblem
private void
injectSession
(MetadataResolutionRequest request) private boolean
private boolean
retrieve
(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:
retrieve
in interfaceArtifactMetadataSource
- Specified by:
retrieve
in 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:
retrieve
in interfaceArtifactMetadataSource
- Specified by:
retrieve
in 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:ArtifactMetadataSource
Get a list of available versions for an artifact in the remote repository- Specified by:
retrieveAvailableVersions
in interfaceArtifactMetadataSource
- Specified by:
retrieveAvailableVersions
in interfaceArtifactMetadataSource
- Parameters:
artifact
- artifact we are interested in. Onlygroupid
andartifactId
are 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 List<ArtifactVersion> retrieveAvailableVersions(MetadataResolutionRequest request) throws ArtifactMetadataRetrievalException - Specified by:
retrieveAvailableVersions
in interfaceArtifactMetadataSource
- Throws:
ArtifactMetadataRetrievalException
-
retrieveAvailableVersionsFromDeploymentRepository
public List<ArtifactVersion> retrieveAvailableVersionsFromDeploymentRepository(Artifact artifact, ArtifactRepository localRepository, ArtifactRepository deploymentRepository) throws ArtifactMetadataRetrievalException Description copied from interface:ArtifactMetadataSource
Get 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:
retrieveAvailableVersionsFromDeploymentRepository
in interfaceArtifactMetadataSource
- Specified by:
retrieveAvailableVersionsFromDeploymentRepository
in interfaceArtifactMetadataSource
- Parameters:
artifact
- artifact we are interested in. Onlygroupid
andartifactId
are 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 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
-