Class 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 Detail

      • BanDuplicatePomDependencyVersions

        public BanDuplicatePomDependencyVersions()
    • 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
      • 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