Class DefaultPluginVersionResolver
- java.lang.Object
-
- org.apache.maven.plugin.version.internal.DefaultPluginVersionResolver
-
- All Implemented Interfaces:
PluginVersionResolver
@Component(role=PluginVersionResolver.class) public class DefaultPluginVersionResolver extends java.lang.Object implements PluginVersionResolver
Resolves a version for a plugin.- Since:
- 3.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
DefaultPluginVersionResolver.Key
(package private) static class
DefaultPluginVersionResolver.Versions
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.Object
CACHE_KEY
private org.codehaus.plexus.logging.Logger
logger
private MetadataReader
metadataReader
private MavenPluginManager
pluginManager
private static java.lang.String
REPOSITORY_CONTEXT
private org.eclipse.aether.RepositorySystem
repositorySystem
-
Constructor Summary
Constructors Constructor Description DefaultPluginVersionResolver()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.util.concurrent.ConcurrentMap<DefaultPluginVersionResolver.Key,PluginVersionResult>
getCache(org.eclipse.aether.SessionData data)
private static DefaultPluginVersionResolver.Key
getKey(PluginVersionRequest request)
private void
invalidMetadata(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.RequestTrace trace, org.eclipse.aether.metadata.Metadata metadata, org.eclipse.aether.repository.ArtifactRepository repository, java.lang.Exception exception)
private boolean
isCompatible(PluginVersionRequest request, java.lang.String version)
private void
mergeMetadata(DefaultPluginVersionResolver.Versions versions, Metadata source, org.eclipse.aether.repository.ArtifactRepository repository)
private void
mergeMetadata(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.RequestTrace trace, DefaultPluginVersionResolver.Versions versions, org.eclipse.aether.metadata.Metadata metadata, org.eclipse.aether.repository.ArtifactRepository repository)
PluginVersionResult
resolve(PluginVersionRequest request)
Resolves the version for the specified request.private PluginVersionResult
resolveFromProject(PluginVersionRequest request)
private PluginVersionResult
resolveFromProject(PluginVersionRequest request, java.util.List<Plugin> plugins)
private PluginVersionResult
resolveFromRepository(PluginVersionRequest request)
private void
selectVersion(DefaultPluginVersionResult result, PluginVersionRequest request, DefaultPluginVersionResolver.Versions versions)
-
-
-
Field Detail
-
REPOSITORY_CONTEXT
private static final java.lang.String REPOSITORY_CONTEXT
- See Also:
- Constant Field Values
-
CACHE_KEY
private static final java.lang.Object CACHE_KEY
-
logger
@Requirement private org.codehaus.plexus.logging.Logger logger
-
repositorySystem
@Requirement private org.eclipse.aether.RepositorySystem repositorySystem
-
metadataReader
@Requirement private MetadataReader metadataReader
-
pluginManager
@Requirement private MavenPluginManager pluginManager
-
-
Method Detail
-
resolve
public PluginVersionResult resolve(PluginVersionRequest request) throws PluginVersionResolutionException
Description copied from interface:PluginVersionResolver
Resolves the version for the specified request.- Specified by:
resolve
in interfacePluginVersionResolver
- Parameters:
request
- The request that holds the details about the plugin and the repositories to consult, must not benull
.- Returns:
- The result of the version resolution, never
null
. - Throws:
PluginVersionResolutionException
- If the plugin version could not be resolved.
-
resolveFromRepository
private PluginVersionResult resolveFromRepository(PluginVersionRequest request) throws PluginVersionResolutionException
- Throws:
PluginVersionResolutionException
-
selectVersion
private void selectVersion(DefaultPluginVersionResult result, PluginVersionRequest request, DefaultPluginVersionResolver.Versions versions) throws PluginVersionResolutionException
- Throws:
PluginVersionResolutionException
-
isCompatible
private boolean isCompatible(PluginVersionRequest request, java.lang.String version)
-
mergeMetadata
private void mergeMetadata(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.RequestTrace trace, DefaultPluginVersionResolver.Versions versions, org.eclipse.aether.metadata.Metadata metadata, org.eclipse.aether.repository.ArtifactRepository repository)
-
invalidMetadata
private void invalidMetadata(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.RequestTrace trace, org.eclipse.aether.metadata.Metadata metadata, org.eclipse.aether.repository.ArtifactRepository repository, java.lang.Exception exception)
-
mergeMetadata
private void mergeMetadata(DefaultPluginVersionResolver.Versions versions, Metadata source, org.eclipse.aether.repository.ArtifactRepository repository)
-
resolveFromProject
private PluginVersionResult resolveFromProject(PluginVersionRequest request)
-
resolveFromProject
private PluginVersionResult resolveFromProject(PluginVersionRequest request, java.util.List<Plugin> plugins)
-
getCache
private java.util.concurrent.ConcurrentMap<DefaultPluginVersionResolver.Key,PluginVersionResult> getCache(org.eclipse.aether.SessionData data)
-
getKey
private static DefaultPluginVersionResolver.Key getKey(PluginVersionRequest request)
-
-