Package org.apache.maven.enforcer.rules
Class RequirePluginVersions
java.lang.Object
org.apache.maven.enforcer.rule.api.AbstractEnforcerRule
org.apache.maven.enforcer.rules.AbstractStandardEnforcerRule
org.apache.maven.enforcer.rules.RequirePluginVersions
- All Implemented Interfaces:
EnforcerRuleBase
@Named("requirePluginVersions")
public final class RequirePluginVersions
extends AbstractStandardEnforcerRule
This rule will enforce that all plugins specified in the poms have a version declared.
- Author:
- Brian Fox
-
Constructor Summary
ConstructorsConstructorDescriptionRequirePluginVersions(org.apache.maven.plugin.PluginManager pluginManager, org.apache.maven.artifact.factory.ArtifactFactory factory, org.eclipse.aether.RepositorySystem repositorySystem, org.apache.maven.execution.MavenSession session, EnforcerRuleUtils utils, org.apache.maven.rtinfo.RuntimeInformation runtimeInformation, org.apache.maven.lifecycle.DefaultLifecycles defaultLifeCycles, org.apache.maven.project.MavenProject project, ExpressionEvaluator evaluator, org.codehaus.plexus.PlexusContainer container) -
Method Summary
Modifier and TypeMethodDescriptionSet<org.apache.maven.model.Plugin> addAdditionalPlugins(Set<org.apache.maven.model.Plugin> existing, List<String> additional) Add the additional plugins if they don't exist yet.combineUncheckedPlugins(Collection<String> uncheckedPlugins, String uncheckedPluginsList) Combines the old Collection with the new comma separated list.voidexecute()This is the interface into the rule.getLog()Provide anEnforcerLoggerinstance for RuleGets the phase to lifecycle map.Set<org.apache.maven.model.Plugin> getProfilePlugins(org.apache.maven.project.MavenProject project) Finds the plugins that are listed in active profiles.booleanhasValidVersionSpecified(org.apache.maven.model.Plugin source, List<PluginWrapper> pluginWrappers) Checks for valid version specified.booleanChecks if is ban snapshots.voidsetBanLatest(boolean theBanLatest) Sets the ban latest.voidsetBanRelease(boolean theBanRelease) Sets the ban release.voidsetBanSnapshots(boolean theBanSnapshots) Sets the ban snapshots.voidsetBanTimestamps(boolean theBanTimestamps) Sets the ban timestamps.voidsetLog(EnforcerLogger log) Used byEnforcerMojoto inject logger instancetoString()Methods inherited from class org.apache.maven.enforcer.rules.AbstractStandardEnforcerRule
formatLocation, getMessage, setMessageMethods inherited from class org.apache.maven.enforcer.rule.api.AbstractEnforcerRule
getCacheId, getLevel
-
Constructor Details
-
RequirePluginVersions
@Inject public RequirePluginVersions(org.apache.maven.plugin.PluginManager pluginManager, org.apache.maven.artifact.factory.ArtifactFactory factory, org.eclipse.aether.RepositorySystem repositorySystem, org.apache.maven.execution.MavenSession session, EnforcerRuleUtils utils, org.apache.maven.rtinfo.RuntimeInformation runtimeInformation, org.apache.maven.lifecycle.DefaultLifecycles defaultLifeCycles, org.apache.maven.project.MavenProject project, ExpressionEvaluator evaluator, org.codehaus.plexus.PlexusContainer container)
-
-
Method Details
-
execute
Description copied from class:AbstractEnforcerRuleThis is the interface into the rule. This method should throw an exception containing a reason message if the rule fails the check. The plugin will then decide based on the fail flag and rule level if it should stop or just log the message as a warning.- Specified by:
executein classAbstractEnforcerRule- Throws:
EnforcerRuleException- the enforcer rule exception
-
combineUncheckedPlugins
public Collection<String> combineUncheckedPlugins(Collection<String> uncheckedPlugins, String uncheckedPluginsList) Combines the old Collection with the new comma separated list.- Parameters:
uncheckedPlugins- a new collectionsuncheckedPluginsList- a list to merge- Returns:
- List of unchecked plugins.
-
addAdditionalPlugins
public Set<org.apache.maven.model.Plugin> addAdditionalPlugins(Set<org.apache.maven.model.Plugin> existing, List<String> additional) throws EnforcerRuleError Add the additional plugins if they don't exist yet.- Parameters:
existing- the existingadditional- the additional- Returns:
- the sets the
- Throws:
EnforcerRuleError- the enforcer error
-
getProfilePlugins
public Set<org.apache.maven.model.Plugin> getProfilePlugins(org.apache.maven.project.MavenProject project) Finds the plugins that are listed in active profiles.- Parameters:
project- the project- Returns:
- the profile plugins
-
hasValidVersionSpecified
public boolean hasValidVersionSpecified(org.apache.maven.model.Plugin source, List<PluginWrapper> pluginWrappers) Checks for valid version specified. Checks to see if the version is specified for the plugin. Can optionally ban "RELEASE" or "LATEST" even if specified.- Parameters:
source- the sourcepluginWrappers- the plugins- Returns:
- true, if successful
-
getPhaseToLifecycleMap
public Map<String,org.apache.maven.lifecycle.Lifecycle> getPhaseToLifecycleMap() throws org.apache.maven.lifecycle.LifecycleExecutionExceptionGets the phase to lifecycle map.- Returns:
- the phase to lifecycle map
- Throws:
org.apache.maven.lifecycle.LifecycleExecutionException- the lifecycle execution exception
-
setBanLatest
Sets the ban latest.- Parameters:
theBanLatest- the banLatest to set
-
setBanRelease
Sets the ban release.- Parameters:
theBanRelease- the banRelease to set
-
isBanSnapshots
Checks if is ban snapshots.- Returns:
- the banSnapshots
-
setBanSnapshots
Sets the ban snapshots.- Parameters:
theBanSnapshots- the banSnapshots to set
-
setBanTimestamps
Sets the ban timestamps.- Parameters:
theBanTimestamps- the banTimestamps to set
-
toString
-
setLog
Used byEnforcerMojoto inject logger instance- Specified by:
setLogin interfaceEnforcerRuleBase- Parameters:
log- anEnforcerLoggerinstance
-
getLog
Provide anEnforcerLoggerinstance for RuleNOTICE A logger is not available in constructors.
- Returns:
- an
EnforcerLoggerinstance
-