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 void
execute(EnforcerRuleHelper helper)
This is the interface into the rule.private void
maven2Validation(EnforcerRuleHelper helper, org.apache.maven.model.Model model)
private void
messageBuilder(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:EnforcerRule
This 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
-
-