Class BanObsoleteDependencyOverrides

java.lang.Object
org.apache.maven.enforcer.rule.api.AbstractEnforcerRule
io.jenkins.tools.maven.jenkins_enforcer_rules.BanObsoleteDependencyOverrides
All Implemented Interfaces:
org.apache.maven.enforcer.rule.api.EnforcerRuleBase

@Named("banObsoleteDependencyOverrides") public class BanObsoleteDependencyOverrides extends org.apache.maven.enforcer.rule.api.AbstractEnforcerRule
Maven Enforcer rule that bans obsolete dependency and property overrides.

This rule fails the build when <dependencyManagement> specifies versions for dependencies that are older than or equal to versions provided by imported BOMs, or when <properties> override *.version properties with values older than or equal to those in the parent POM. This helps identify unnecessary overrides that can be removed when updating BOM versions or parent POMs.

Example usage in a POM:

<build>
  <plugins>
    <plugin>
      <artifactId>maven-enforcer-plugin</artifactId>
      <executions>
        <execution>
          <goals><goal>enforce</goal></goals>
          <configuration>
            <rules>
              <banObsoleteDependencyOverrides/>
            </rules>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

Note that while this rule could in principle be used for any Maven project, the implemented functionality is tailored to the use cases likely to arise in Jenkins plugin development.

  • Constructor Details

    • BanObsoleteDependencyOverrides

      @Inject public BanObsoleteDependencyOverrides(org.apache.maven.project.MavenProject project, io.jenkins.tools.maven.jenkins_enforcer_rules.BomResolverUtil bomResolverUtil)
  • Method Details

    • setSkip

      public void setSkip(boolean skip)
    • isSkip

      public boolean isSkip()
    • setIgnores

      public void setIgnores(List<String> ignores)
    • getIgnores

      public List<String> getIgnores()
    • execute

      public void execute() throws org.apache.maven.enforcer.rule.api.EnforcerRuleException
      Specified by:
      execute in class org.apache.maven.enforcer.rule.api.AbstractEnforcerRule
      Throws:
      org.apache.maven.enforcer.rule.api.EnforcerRuleException
    • setLog

      public void setLog(org.apache.maven.enforcer.rule.api.EnforcerLogger arg0)
      Specified by:
      setLog in interface org.apache.maven.enforcer.rule.api.EnforcerRuleBase
    • getLog

      public org.apache.maven.enforcer.rule.api.EnforcerLogger getLog()