Class BanDuplicatePomDependencyVersions

  • All Implemented Interfaces:
    EnforcerRuleBase

    @Named("banDuplicatePomDependencyVersions")
    public final class BanDuplicatePomDependencyVersions
    extends AbstractStandardEnforcerRule
    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
    • Field Detail

      • project

        private final org.apache.maven.project.MavenProject project
    • Constructor Detail

      • BanDuplicatePomDependencyVersions

        @Inject
        public BanDuplicatePomDependencyVersions​(org.apache.maven.project.MavenProject project)
    • Method Detail

      • execute

        public void execute()
                     throws EnforcerRuleException
        Description copied from class: AbstractEnforcerRule
        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 and rule level if it should stop or just log the message as a warning.
        Specified by:
        execute in class AbstractEnforcerRule
        Throws:
        EnforcerRuleException - the enforcer rule exception
        EnforcerRuleError - in order to brake a build immediately
      • 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)