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 Detail

      • uniqueVersions

        private boolean uniqueVersions
        Since:
        1.3
      • excludes

        private java.util.List<java.lang.String> excludes
        Dependencies to ignore.
        Since:
        TBD
      • includes

        private java.util.List<java.lang.String> includes
        Dependencies to include.
        Since:
        3.0.0
      • excludedScopes

        private java.util.List<java.lang.String> excludedScopes
        Scope to exclude.
    • Constructor Detail

      • RequireUpperBoundDeps

        @Inject
        public RequireUpperBoundDeps​(ResolverUtil resolverUtil)
    • Method Detail

      • setExcludes

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

        public void setIncludes​(java.util.List<java.lang.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
        EnforcerRuleError - in order to brake a build immediately
      • buildErrorMessages

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

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

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

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