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 EnforcerRuleHelper |
helper |
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<java.lang.String> |
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<java.lang.String,java.lang.String> |
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<java.lang.String> |
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.Set<org.apache.maven.model.Plugin> |
removeUncheckedPlugins(java.util.Collection<java.lang.String> uncheckedPlugins,
java.util.Set<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<java.lang.String> 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, isResultValid
getLevel, getMessage, setLevel, setMessage
private EnforcerRuleHelper helper
private 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<java.lang.String> 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
EnforcerRule
helper
- 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.Set<org.apache.maven.model.Plugin> removeUncheckedPlugins(java.util.Collection<java.lang.String> uncheckedPlugins, java.util.Set<org.apache.maven.model.Plugin> plugins) throws org.apache.maven.plugin.MojoExecutionException
uncheckedPlugins
- plugins
- org.apache.maven.plugin.MojoExecutionException
public 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.MojoExecutionException
public 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<java.lang.String,java.lang.String> 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<java.lang.String> getUnCheckedPlugins()
public void setUnCheckedPlugins(java.util.List<java.lang.String> 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()