Class BanDuplicatePomDependencyVersions
- java.lang.Object
-
- org.apache.maven.plugins.enforcer.AbstractStandardEnforcerRule
-
- org.apache.maven.plugins.enforcer.AbstractNonCacheableEnforcerRule
-
- org.apache.maven.plugins.enforcer.BanDuplicatePomDependencyVersions
-
- All Implemented Interfaces:
EnforcerRule,EnforcerRule2
public class BanDuplicatePomDependencyVersions extends AbstractNonCacheableEnforcerRule
Since Maven 3 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique. Early versions of Maven 3 already warn, this rule can force to break a build for this reason.- Since:
- 1.3
-
-
Constructor Summary
Constructors Constructor Description BanDuplicatePomDependencyVersions()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidexecute(EnforcerRuleHelper helper)This is the interface into the rule.private voidmaven2Validation(EnforcerRuleHelper helper, org.apache.maven.model.Model model)private voidmessageBuilder(java.util.Map<java.lang.String,java.lang.Integer> duplicateDependencies, java.lang.String prefix, java.lang.StringBuilder message)private java.util.Map<java.lang.String,java.lang.Integer>validateDependencies(java.util.List<org.apache.maven.model.Dependency> dependencies)-
Methods inherited from class org.apache.maven.plugins.enforcer.AbstractNonCacheableEnforcerRule
getCacheId, isCacheable, isResultValid
-
Methods inherited from class org.apache.maven.plugins.enforcer.AbstractStandardEnforcerRule
getLevel, getMessage, setLevel, setMessage
-
-
-
-
Method Detail
-
execute
public void execute(EnforcerRuleHelper helper) throws EnforcerRuleException
Description copied from interface:EnforcerRuleThis 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 if it should stop or just log the message as a warning.- Parameters:
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.- Throws:
EnforcerRuleException- the enforcer rule exception
-
maven2Validation
private void maven2Validation(EnforcerRuleHelper helper, org.apache.maven.model.Model model) throws EnforcerRuleException
- Throws:
EnforcerRuleException
-
messageBuilder
private void messageBuilder(java.util.Map<java.lang.String,java.lang.Integer> duplicateDependencies, java.lang.String prefix, java.lang.StringBuilder message)
-
validateDependencies
private java.util.Map<java.lang.String,java.lang.Integer> validateDependencies(java.util.List<org.apache.maven.model.Dependency> dependencies) throws EnforcerRuleException- Throws:
EnforcerRuleException
-
-