@Component(role=ArtifactMetadataSource.class, hint="maven") public class MavenMetadataSource extends java.lang.Object implements ArtifactMetadataSource
Modifier and Type | Class and Description |
---|---|
private static class |
MavenMetadataSource.ProjectRelocation |
Modifier and Type | Field and Description |
---|---|
private MavenMetadataCache |
cache |
private org.codehaus.plexus.PlexusContainer |
container |
private LegacySupport |
legacySupport |
private org.codehaus.plexus.logging.Logger |
logger |
private ProjectBuilder |
projectBuilder |
private RepositoryMetadataManager |
repositoryMetadataManager |
private ArtifactFactory |
repositorySystem |
Constructor and Description |
---|
MavenMetadataSource() |
Modifier and Type | Method and 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 Artifact |
createDependencyArtifact(ArtifactFactory factory,
Dependency dependency,
java.lang.String inheritedScope,
ArtifactFilter inheritedFilter) |
private Artifact |
createDependencyArtifact(Dependency dependency,
Artifact owner,
Artifact pom) |
private static ArtifactFilter |
createDependencyFilter(Dependency dependency,
ArtifactFilter inheritedFilter) |
private static java.lang.String |
getEffectiveScope(java.lang.String originalScope,
java.lang.String inheritedScope) |
private ProjectBuilder |
getProjectBuilder() |
private java.util.Properties |
getSystemProperties() |
private boolean |
hasFile(Artifact artifact) |
private ModelProblem |
hasMissingParentPom(ProjectBuildingException e) |
private void |
injectSession(MetadataResolutionRequest request) |
private boolean |
isMissingPom(java.lang.Exception e) |
private boolean |
isNonTransferrablePom(java.lang.Exception e) |
ResolutionGroup |
retrieve(Artifact artifact,
ArtifactRepository localRepository,
java.util.List<ArtifactRepository> remoteRepositories) |
ResolutionGroup |
retrieve(Artifact artifact,
ArtifactRepository localRepository,
java.util.List<ArtifactRepository> remoteRepositories,
boolean resolveManagedVersions) |
ResolutionGroup |
retrieve(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 repository
|
java.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.ProjectRelocation |
retrieveRelocatedProject(Artifact artifact,
MetadataResolutionRequest repositoryRequest) |
@Requirement private RepositoryMetadataManager repositoryMetadataManager
@Requirement private ArtifactFactory repositorySystem
private ProjectBuilder projectBuilder
@Requirement private org.codehaus.plexus.PlexusContainer container
@Requirement private org.codehaus.plexus.logging.Logger logger
@Requirement private MavenMetadataCache cache
@Requirement private LegacySupport legacySupport
private void injectSession(MetadataResolutionRequest request)
public ResolutionGroup retrieve(Artifact artifact, ArtifactRepository localRepository, java.util.List<ArtifactRepository> remoteRepositories) throws ArtifactMetadataRetrievalException
retrieve
in interface ArtifactMetadataSource
ArtifactMetadataRetrievalException
public ResolutionGroup retrieve(Artifact artifact, ArtifactRepository localRepository, java.util.List<ArtifactRepository> remoteRepositories, boolean resolveManagedVersions) throws ArtifactMetadataRetrievalException
public ResolutionGroup retrieve(MetadataResolutionRequest request) throws ArtifactMetadataRetrievalException
retrieve
in interface ArtifactMetadataSource
ArtifactMetadataRetrievalException
private boolean hasFile(Artifact artifact)
private java.util.List<ArtifactRepository> aggregateRepositories(java.util.List<ArtifactRepository> requestRepositories, java.util.List<ArtifactRepository> pomRepositories)
private Artifact createDependencyArtifact(Dependency dependency, Artifact owner, Artifact pom) throws ArtifactMetadataRetrievalException
private static Artifact createDependencyArtifact(ArtifactFactory factory, Dependency dependency, java.lang.String inheritedScope, ArtifactFilter inheritedFilter) throws InvalidVersionSpecificationException
private static java.lang.String getEffectiveScope(java.lang.String originalScope, java.lang.String inheritedScope)
private static ArtifactFilter createDependencyFilter(Dependency dependency, ArtifactFilter inheritedFilter)
public java.util.List<ArtifactVersion> retrieveAvailableVersions(Artifact artifact, ArtifactRepository localRepository, java.util.List<ArtifactRepository> remoteRepositories) throws ArtifactMetadataRetrievalException
ArtifactMetadataSource
retrieveAvailableVersions
in interface ArtifactMetadataSource
artifact
- artifact we are interested in. Only groupid
and artifactId
are needed, for instance the following code will work
artifactFactory.createProjectArtifact( "org.apache.maven", "maven", "" )
localRepository
- local repositoryremoteRepositories
- remote repositories, List
$lt; ArtifactRepository
>List
$lt; ArtifactVersion
>ArtifactMetadataRetrievalException
- in case of error while retrieving repository metadata from the repository.ArtifactMetadataRetrievalException
public java.util.List<ArtifactVersion> retrieveAvailableVersions(MetadataResolutionRequest request) throws ArtifactMetadataRetrievalException
public java.util.List<ArtifactVersion> retrieveAvailableVersionsFromDeploymentRepository(Artifact artifact, ArtifactRepository localRepository, ArtifactRepository deploymentRepository) throws ArtifactMetadataRetrievalException
ArtifactMetadataSource
retrieveAvailableVersionsFromDeploymentRepository
in interface ArtifactMetadataSource
artifact
- artifact we are interested in. Only groupid
and artifactId
are
needed, for instance the following code will work
artifactFactory.createProjectArtifact( "org.apache.maven", "maven", "" )
localRepository
- local repositorydeploymentRepository
- remote repositoryList
$lt; ArtifactVersion
>ArtifactMetadataRetrievalException
- in case of error while retrieving repository metadata from the repository.ArtifactMetadataRetrievalException
private java.util.List<ArtifactVersion> retrieveAvailableVersionsFromMetadata(Metadata repoMetadata, java.util.List<java.lang.String> availableVersions)
@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
private ProjectBuilder getProjectBuilder()
private MavenMetadataSource.ProjectRelocation retrieveRelocatedProject(Artifact artifact, MetadataResolutionRequest repositoryRequest) throws ArtifactMetadataRetrievalException
private ModelProblem hasMissingParentPom(ProjectBuildingException e)
private boolean isMissingPom(java.lang.Exception e)
private boolean isNonTransferrablePom(java.lang.Exception e)
private java.util.Properties getSystemProperties()