Class RequireUpperBoundDeps

All Implemented Interfaces:
EnforcerRuleBase

@Named("requireUpperBoundDeps") public final class RequireUpperBoundDeps extends AbstractStandardEnforcerRule
Rule to enforce that the resolved dependency is also the most recent one of all transitive dependencies.
Since:
1.1
  • Field Details

  • Constructor Details

    • RequireUpperBoundDeps

      @Inject public RequireUpperBoundDeps(ResolverUtil resolverUtil)
  • Method Details

    • setExcludes

      public void setExcludes(List<String> excludes)
      Sets dependencies to exclude.
      Parameters:
      excludes - a list of groupId:artifactId names
    • setIncludes

      public void setIncludes(List<String> includes)
      Sets dependencies to include.
      Parameters:
      includes - a list of groupId:artifactId names
    • 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
    • buildErrorMessages

      private List<String> buildErrorMessages(List<List<org.eclipse.aether.graph.DependencyNode>> conflicts)
    • buildErrorMessage

      private String buildErrorMessage(List<org.eclipse.aether.graph.DependencyNode> conflict)
    • buildTreeString

      private StringBuilder buildTreeString(org.eclipse.aether.graph.DependencyNode node)
    • getFullArtifactName

      private String getFullArtifactName(org.eclipse.aether.graph.DependencyNode node, boolean usePremanaged)