public interface MavenPluginManager
Modifier and Type | Method and Description |
---|---|
void |
checkRequiredMavenVersion(PluginDescriptor pluginDescriptor)
Verifies the specified plugin is compatible with the current Maven runtime.
|
<T> T |
getConfiguredMojo(Class<T> mojoInterface,
MavenSession session,
MojoExecution mojoExecution)
Looks up the mojo for the specified mojo execution and populates its parameters from the configuration given by
the mojo execution.
|
MojoDescriptor |
getMojoDescriptor(Plugin plugin,
String goal,
List<org.eclipse.aether.repository.RemoteRepository> repositories,
org.eclipse.aether.RepositorySystemSession session)
Retrieves the descriptor for the specified plugin goal from the plugin's main artifact.
|
PluginDescriptor |
getPluginDescriptor(Plugin plugin,
List<org.eclipse.aether.repository.RemoteRepository> repositories,
org.eclipse.aether.RepositorySystemSession session)
Retrieves the descriptor for the specified plugin from its main artifact.
|
void |
releaseMojo(Object mojo,
MojoExecution mojoExecution)
Releases the specified mojo back to the container.
|
ExtensionRealmCache.CacheRecord |
setupExtensionsRealm(MavenProject project,
Plugin plugin,
org.eclipse.aether.RepositorySystemSession session)
Sets up class realm for the specified build extensions plugin.
|
void |
setupPluginRealm(PluginDescriptor pluginDescriptor,
MavenSession session,
ClassLoader parent,
List<String> imports,
org.eclipse.aether.graph.DependencyFilter filter)
Sets up the class realm for the specified plugin.
|
PluginDescriptor getPluginDescriptor(Plugin plugin, List<org.eclipse.aether.repository.RemoteRepository> repositories, org.eclipse.aether.RepositorySystemSession session) throws PluginResolutionException, PluginDescriptorParsingException, InvalidPluginDescriptorException
plugin
- The plugin whose descriptor should be retrieved, must not be null
.repositories
- The plugin repositories to use for resolving the plugin's main artifact, must not be null
.session
- The repository session to use for resolving the plugin's main artifact, must not be null
.null
.PluginResolutionException
PluginDescriptorParsingException
InvalidPluginDescriptorException
MojoDescriptor getMojoDescriptor(Plugin plugin, String goal, List<org.eclipse.aether.repository.RemoteRepository> repositories, org.eclipse.aether.RepositorySystemSession session) throws MojoNotFoundException, PluginResolutionException, PluginDescriptorParsingException, InvalidPluginDescriptorException
plugin
- The plugin whose mojo descriptor should be retrieved, must not be null
.goal
- The simple name of the mojo whose descriptor should be retrieved, must not be null
.repositories
- The plugin repositories to use for resolving the plugin's main artifact, must not be null
.session
- The repository session to use for resolving the plugin's main artifact, must not be null
.null
.MojoNotFoundException
PluginResolutionException
PluginDescriptorParsingException
InvalidPluginDescriptorException
void checkRequiredMavenVersion(PluginDescriptor pluginDescriptor) throws PluginIncompatibleException
pluginDescriptor
- The descriptor of the plugin to check, must not be null
.PluginIncompatibleException
void setupPluginRealm(PluginDescriptor pluginDescriptor, MavenSession session, ClassLoader parent, List<String> imports, org.eclipse.aether.graph.DependencyFilter filter) throws PluginResolutionException, PluginContainerException
pluginDescriptor
- The plugin descriptor in which to save the class realm and the plugin artifacts, must not
be null
.session
- The build session from which to pick the current project and repository settings, must not be
null
.parent
- The parent class realm for the plugin, may be null
to use the Maven core realm.imports
- The packages/types to import from the parent realm, may be null
.filter
- The filter used to exclude certain plugin dependencies, may be null
.PluginResolutionException
PluginContainerException
ExtensionRealmCache.CacheRecord setupExtensionsRealm(MavenProject project, Plugin plugin, org.eclipse.aether.RepositorySystemSession session) throws PluginManagerException
PluginManagerException
<T> T getConfiguredMojo(Class<T> mojoInterface, MavenSession session, MojoExecution mojoExecution) throws PluginConfigurationException, PluginContainerException
releaseMojo(Object, MojoExecution)
when the mojo is no longer needed to free any resources allocated for
it.mojoInterface
- The component role of the mojo, must not be null
.session
- The build session in whose context the mojo will be used, must not be null
.mojoExecution
- The mojo execution to retrieve the mojo for, must not be null
.null
.PluginConfigurationException
PluginContainerException
void releaseMojo(Object mojo, MojoExecution mojoExecution)
mojo
- The mojo to release, may be null
.mojoExecution
- The mojo execution the mojo was originally retrieved for, must not be null
.Copyright © 2001–2022 The Apache Software Foundation. All rights reserved.