public class RequirePluginVersions extends AbstractNonCacheableEnforcerRule
| Modifier and Type | Field and Description |
|---|---|
private java.util.List<java.lang.String> |
additionalPlugins
Additional plugins to enforce have versions.
|
private boolean |
banLatest
Don't allow the LATEST identifier.
|
private boolean |
banRelease
Don't allow the RELEASE identifier.
|
private boolean |
banSnapshots
Don't allow snapshot plugins.
|
private boolean |
banTimestamps
Don't allow timestamp snapshot plugins.
|
(package private) org.apache.maven.artifact.factory.ArtifactFactory |
factory
The factory.
|
private java.util.Collection<org.apache.maven.lifecycle.Lifecycle> |
lifecycles
The lifecycles.
|
(package private) org.apache.maven.plugin.logging.Log |
log
The log.
|
private java.lang.String |
phases
The comma separated list of phases that should be used to find lifecycle plugin bindings.
|
private java.util.Map<java.lang.String,org.apache.maven.lifecycle.Lifecycle> |
phaseToLifecycleMap
The phase to lifecycle map.
|
private org.apache.maven.plugin.PluginManager |
pluginManager
The plugin manager.
|
(package private) org.apache.maven.shared.artifact.resolve.ArtifactResolver |
resolver
The resolver.
|
(package private) org.apache.maven.execution.MavenSession |
session
The session.
|
private java.lang.String |
unCheckedPluginList
Same as unCheckedPlugins but as a comma list to better support properties.
|
private java.util.List |
unCheckedPlugins
Plugins to skip for version enforcement.
|
(package private) EnforcerRuleUtils |
utils
The utils.
|
| Constructor and Description |
|---|
RequirePluginVersions() |
| Modifier and Type | Method and Description |
|---|---|
java.util.Set<org.apache.maven.model.Plugin> |
addAdditionalPlugins(java.util.Set<org.apache.maven.model.Plugin> existing,
java.util.List<java.lang.String> additional)
Add the additional plugins if they don't exist yet.
|
java.util.Collection<java.lang.String> |
combineUncheckedPlugins(java.util.Collection<java.lang.String> uncheckedPlugins,
java.lang.String uncheckedPluginsList)
Combines the old Collection with the new comma separated list.
|
void |
execute(EnforcerRuleHelper helper)
This is the interface into the rule.
|
protected org.apache.maven.model.Plugin |
findCurrentPlugin(org.apache.maven.model.Plugin plugin,
org.apache.maven.project.ProjectBuildingRequest projectBuildingRequest)
Given a plugin, this will retrieve the matching plugin artifact from the model.
|
private java.lang.Object |
findExtension(org.apache.maven.project.MavenProject project,
java.lang.String role,
java.lang.String roleHint,
org.apache.maven.settings.Settings settings,
org.apache.maven.artifact.repository.ArtifactRepository localRepository)
Find extension.
|
private java.util.Map |
findMappingsForLifecycle(org.apache.maven.project.MavenProject project,
org.apache.maven.lifecycle.Lifecycle lifecycle)
Find mappings for lifecycle.
|
private java.util.List<java.lang.String> |
findOptionalMojosForLifecycle(org.apache.maven.project.MavenProject project,
org.apache.maven.lifecycle.Lifecycle lifecycle)
Find optional mojos for lifecycle.
|
java.util.List<java.lang.String> |
getAdditionalPlugins() |
protected java.util.List<PluginWrapper> |
getAllPluginEntries(org.apache.maven.project.MavenProject project)
Gets all plugin entries in build.plugins, build.pluginManagement.plugins, profile.build.plugins, reporting and
profile.reporting in this project and all parents
|
private java.util.Set<org.apache.maven.model.Plugin> |
getAllPlugins(org.apache.maven.project.MavenProject project,
org.apache.maven.lifecycle.Lifecycle lifecycle)
Gets the all plugins.
|
protected java.util.Set<org.apache.maven.model.Plugin> |
getBoundPlugins(org.apache.maven.lifecycle.LifecycleExecutor life,
org.apache.maven.project.MavenProject project,
java.lang.String thePhases)
Gets the plugins that are bound to the defined phases.
|
private org.apache.maven.lifecycle.Lifecycle |
getLifecycleForPhase(java.lang.String phase)
Gets the lifecycle for phase.
|
java.lang.String |
getPhases() |
java.util.Map<java.lang.String,org.apache.maven.lifecycle.Lifecycle> |
getPhaseToLifecycleMap()
Gets the phase to lifecycle map.
|
java.util.Set<org.apache.maven.model.Plugin> |
getProfilePlugins(org.apache.maven.project.MavenProject project)
Finds the plugins that are listed in active profiles.
|
java.util.List |
getUnCheckedPlugins() |
protected EnforcerRuleUtils |
getUtils()
Gets the utils.
|
protected boolean |
hasValidVersionSpecified(EnforcerRuleHelper helper,
org.apache.maven.model.Plugin source,
java.util.List<PluginWrapper> pluginWrappers)
Checks for valid version specified.
|
protected boolean |
isBanLatest()
Checks if is ban latest.
|
protected boolean |
isBanRelease()
Checks if is ban release.
|
boolean |
isBanSnapshots()
Checks if is ban snapshots.
|
boolean |
isBanTimestamps()
Checks if is ban timestamps.
|
protected boolean |
isSnapshot(java.lang.String baseVersion)
Checks if is snapshot.
|
protected org.apache.maven.model.Plugin |
parsePluginString(java.lang.String pluginString,
java.lang.String field)
Helper method to parse and inject a Plugin.
|
java.util.Collection<org.apache.maven.model.Plugin> |
removeUncheckedPlugins(java.util.Collection<java.lang.String> uncheckedPlugins,
java.util.Collection<org.apache.maven.model.Plugin> plugins)
Remove the plugins that the user doesn't want to check.
|
protected org.apache.maven.model.Plugin |
resolvePlugin(org.apache.maven.model.Plugin plugin,
org.apache.maven.project.ProjectBuildingRequest projectBuildingRequest)
Resolve plugin.
|
void |
setAdditionalPlugins(java.util.List<java.lang.String> additionalPlugins) |
protected void |
setBanLatest(boolean theBanLatest)
Sets the ban latest.
|
protected void |
setBanRelease(boolean theBanRelease)
Sets the ban release.
|
void |
setBanSnapshots(boolean theBanSnapshots)
Sets the ban snapshots.
|
void |
setBanTimestamps(boolean theBanTimestamps)
Sets the ban timestamps.
|
void |
setPhases(java.lang.String phases) |
void |
setUnCheckedPlugins(java.util.List unCheckedPlugins) |
protected void |
setUtils(EnforcerRuleUtils theUtils)
Sets the utils.
|
private org.apache.maven.plugin.descriptor.PluginDescriptor |
verifyPlugin(org.apache.maven.model.Plugin plugin,
org.apache.maven.project.MavenProject project,
org.apache.maven.settings.Settings settings,
org.apache.maven.artifact.repository.ArtifactRepository localRepository)
Verify plugin.
|
getCacheId, isCacheable, isResultValidgetLevel, getMessage, setLevel, setMessageprivate boolean banLatest
#setBanLatest(boolean)},
#isBanLatest()}private boolean banRelease
#setBanRelease(boolean)},
#isBanRelease()}private boolean banSnapshots
#setBanSnapshots(boolean)},
#isBanSnapshots()}private boolean banTimestamps
#setBanTimestamps(boolean)},
#isBanTimestamps()}private java.lang.String phases
#setPhases(String)},
#getPhases()}private java.util.List<java.lang.String> additionalPlugins
group:artifactId.#setAdditionalPlugins(List)},
#getAdditionalPlugins()}private java.util.List unCheckedPlugins
group:artifactId. NOTE: This is deprecated, use unCheckedPluginList instead.#setUnCheckedPlugins(List)},
#getUnCheckedPlugins()}private java.lang.String unCheckedPluginList
group:artifactId,group2:artifactId2#setUnCheckedPlugins(List)},
#getUnCheckedPlugins()}private org.apache.maven.plugin.PluginManager pluginManager
private java.util.Map<java.lang.String,org.apache.maven.lifecycle.Lifecycle> phaseToLifecycleMap
private java.util.Collection<org.apache.maven.lifecycle.Lifecycle> lifecycles
org.apache.maven.artifact.factory.ArtifactFactory factory
org.apache.maven.shared.artifact.resolve.ArtifactResolver resolver
org.apache.maven.plugin.logging.Log log
org.apache.maven.execution.MavenSession session
EnforcerRuleUtils utils
public void execute(EnforcerRuleHelper helper) throws EnforcerRuleException
EnforcerRulehelper - The helper provides access to the log, MavenSession and has
helpers to get common components. It is also able to lookup components
by class name.EnforcerRuleException - the enforcer rule exceptionpublic java.util.Collection<org.apache.maven.model.Plugin> removeUncheckedPlugins(java.util.Collection<java.lang.String> uncheckedPlugins,
java.util.Collection<org.apache.maven.model.Plugin> plugins)
throws org.apache.maven.plugin.MojoExecutionException
uncheckedPlugins - plugins - org.apache.maven.plugin.MojoExecutionExceptionpublic java.util.Collection<java.lang.String> combineUncheckedPlugins(java.util.Collection<java.lang.String> uncheckedPlugins,
java.lang.String uncheckedPluginsList)
uncheckedPlugins - uncheckedPluginsList - public java.util.Set<org.apache.maven.model.Plugin> addAdditionalPlugins(java.util.Set<org.apache.maven.model.Plugin> existing,
java.util.List<java.lang.String> additional)
throws org.apache.maven.plugin.MojoExecutionException
existing - the existingadditional - the additionalorg.apache.maven.plugin.MojoExecutionException - the mojo execution exceptionprotected org.apache.maven.model.Plugin parsePluginString(java.lang.String pluginString,
java.lang.String field)
throws org.apache.maven.plugin.MojoExecutionException
pluginString - field - org.apache.maven.plugin.MojoExecutionExceptionpublic java.util.Set<org.apache.maven.model.Plugin> getProfilePlugins(org.apache.maven.project.MavenProject project)
project - the projectprotected org.apache.maven.model.Plugin findCurrentPlugin(org.apache.maven.model.Plugin plugin,
org.apache.maven.project.ProjectBuildingRequest projectBuildingRequest)
plugin - plugin to lookupproject - project to searchnull if not found.protected org.apache.maven.model.Plugin resolvePlugin(org.apache.maven.model.Plugin plugin,
org.apache.maven.project.ProjectBuildingRequest projectBuildingRequest)
plugin - the pluginproject - the projectprotected java.util.Set<org.apache.maven.model.Plugin> getBoundPlugins(org.apache.maven.lifecycle.LifecycleExecutor life,
org.apache.maven.project.MavenProject project,
java.lang.String thePhases)
throws org.apache.maven.plugin.PluginNotFoundException,
org.apache.maven.lifecycle.LifecycleExecutionException,
java.lang.IllegalAccessException
life - the lifeproject - the projectthePhases - the the phasesorg.apache.maven.plugin.PluginNotFoundException - the plugin not found exceptionorg.apache.maven.lifecycle.LifecycleExecutionException - the lifecycle execution exceptionjava.lang.IllegalAccessException - the illegal access exceptionprotected boolean hasValidVersionSpecified(EnforcerRuleHelper helper, org.apache.maven.model.Plugin source, java.util.List<PluginWrapper> pluginWrappers)
helper - the helpersource - the sourcepluginWrappers - the pluginsprotected boolean isSnapshot(java.lang.String baseVersion)
baseVersion - the base versionprivate java.util.Set<org.apache.maven.model.Plugin> getAllPlugins(org.apache.maven.project.MavenProject project,
org.apache.maven.lifecycle.Lifecycle lifecycle)
throws org.apache.maven.plugin.PluginNotFoundException,
org.apache.maven.lifecycle.LifecycleExecutionException
project - the projectlifecycle - the lifecycleorg.apache.maven.plugin.PluginNotFoundException - the plugin not found exceptionorg.apache.maven.lifecycle.LifecycleExecutionException - the lifecycle execution exceptionpublic java.util.Map<java.lang.String,org.apache.maven.lifecycle.Lifecycle> getPhaseToLifecycleMap()
throws org.apache.maven.lifecycle.LifecycleExecutionException
org.apache.maven.lifecycle.LifecycleExecutionException - the lifecycle execution exceptionprivate org.apache.maven.lifecycle.Lifecycle getLifecycleForPhase(java.lang.String phase)
throws org.apache.maven.BuildFailureException,
org.apache.maven.lifecycle.LifecycleExecutionException
phase - the phaseorg.apache.maven.BuildFailureException - the build failure exceptionorg.apache.maven.lifecycle.LifecycleExecutionException - the lifecycle execution exceptionprivate java.util.Map findMappingsForLifecycle(org.apache.maven.project.MavenProject project,
org.apache.maven.lifecycle.Lifecycle lifecycle)
throws org.apache.maven.lifecycle.LifecycleExecutionException,
org.apache.maven.plugin.PluginNotFoundException
project - the projectlifecycle - the lifecycleorg.apache.maven.lifecycle.LifecycleExecutionException - the lifecycle execution exceptionorg.apache.maven.plugin.PluginNotFoundException - the plugin not found exceptionprivate java.util.List<java.lang.String> findOptionalMojosForLifecycle(org.apache.maven.project.MavenProject project,
org.apache.maven.lifecycle.Lifecycle lifecycle)
throws org.apache.maven.lifecycle.LifecycleExecutionException,
org.apache.maven.plugin.PluginNotFoundException
project - the projectlifecycle - the lifecycleorg.apache.maven.lifecycle.LifecycleExecutionException - the lifecycle execution exceptionorg.apache.maven.plugin.PluginNotFoundException - the plugin not found exceptionprivate java.lang.Object findExtension(org.apache.maven.project.MavenProject project,
java.lang.String role,
java.lang.String roleHint,
org.apache.maven.settings.Settings settings,
org.apache.maven.artifact.repository.ArtifactRepository localRepository)
throws org.apache.maven.lifecycle.LifecycleExecutionException,
org.apache.maven.plugin.PluginNotFoundException
project - the projectrole - the roleroleHint - the role hintsettings - the settingslocalRepository - the local repositoryorg.apache.maven.lifecycle.LifecycleExecutionException - the lifecycle execution exceptionorg.apache.maven.plugin.PluginNotFoundException - the plugin not found exceptionprivate org.apache.maven.plugin.descriptor.PluginDescriptor verifyPlugin(org.apache.maven.model.Plugin plugin,
org.apache.maven.project.MavenProject project,
org.apache.maven.settings.Settings settings,
org.apache.maven.artifact.repository.ArtifactRepository localRepository)
throws org.apache.maven.lifecycle.LifecycleExecutionException,
org.apache.maven.plugin.PluginNotFoundException
plugin - the pluginproject - the projectsettings - the settingslocalRepository - the local repositoryorg.apache.maven.lifecycle.LifecycleExecutionException - the lifecycle execution exceptionorg.apache.maven.plugin.PluginNotFoundException - the plugin not found exceptionprotected java.util.List<PluginWrapper> getAllPluginEntries(org.apache.maven.project.MavenProject project) throws org.apache.maven.shared.artifact.resolve.ArtifactResolverException, java.io.IOException, org.codehaus.plexus.util.xml.pull.XmlPullParserException
project - the projectorg.apache.maven.shared.artifact.resolve.ArtifactResolverException - the artifact resolution exceptionjava.io.IOException - Signals that an I/O exception has occurred.org.codehaus.plexus.util.xml.pull.XmlPullParserException - the xml pull parser exceptionprotected boolean isBanLatest()
protected void setBanLatest(boolean theBanLatest)
theBanLatest - the banLatest to setprotected boolean isBanRelease()
protected void setBanRelease(boolean theBanRelease)
theBanRelease - the banRelease to setprotected EnforcerRuleUtils getUtils()
protected void setUtils(EnforcerRuleUtils theUtils)
theUtils - the utils to setpublic boolean isBanSnapshots()
public void setBanSnapshots(boolean theBanSnapshots)
theBanSnapshots - the banSnapshots to setpublic boolean isBanTimestamps()
public void setBanTimestamps(boolean theBanTimestamps)
theBanTimestamps - the banTimestamps to setpublic java.util.List getUnCheckedPlugins()
public void setUnCheckedPlugins(java.util.List unCheckedPlugins)
public final void setPhases(java.lang.String phases)
public final java.lang.String getPhases()
public final void setAdditionalPlugins(java.util.List<java.lang.String> additionalPlugins)
public final java.util.List<java.lang.String> getAdditionalPlugins()