Class RequireUpperBoundDeps
- java.lang.Object
-
- org.apache.maven.enforcer.rule.api.AbstractEnforcerRuleBase
-
- org.apache.maven.enforcer.rule.api.AbstractEnforcerRule
-
- org.apache.maven.enforcer.rules.AbstractStandardEnforcerRule
-
- org.apache.maven.enforcer.rules.dependency.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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
RequireUpperBoundDeps.DependencyNodeHopCountPair
private static class
RequireUpperBoundDeps.RequireUpperBoundDepsVisitor
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<java.lang.String>
excludedScopes
Scope to exclude.private java.util.List<java.lang.String>
excludes
Dependencies to ignore.private java.util.List<java.lang.String>
includes
Dependencies to include.private ResolverUtil
resolverUtil
private boolean
uniqueVersions
private RequireUpperBoundDeps.RequireUpperBoundDepsVisitor
upperBoundDepsVisitor
-
Constructor Summary
Constructors Constructor Description RequireUpperBoundDeps(ResolverUtil resolverUtil)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.String
buildErrorMessage(java.util.List<org.eclipse.aether.graph.DependencyNode> conflict)
private java.util.List<java.lang.String>
buildErrorMessages(java.util.List<java.util.List<org.eclipse.aether.graph.DependencyNode>> conflicts)
private java.lang.StringBuilder
buildTreeString(org.eclipse.aether.graph.DependencyNode node)
void
execute()
This is the interface into the rule.private java.lang.String
getFullArtifactName(org.eclipse.aether.graph.DependencyNode node, boolean usePremanaged)
void
setExcludes(java.util.List<java.lang.String> excludes)
Sets dependencies to exclude.void
setIncludes(java.util.List<java.lang.String> includes)
Sets dependencies to include.-
Methods inherited from class org.apache.maven.enforcer.rules.AbstractStandardEnforcerRule
formatLocation, getMessage, setMessage
-
Methods inherited from class org.apache.maven.enforcer.rule.api.AbstractEnforcerRule
getCacheId, getLevel
-
Methods inherited from class org.apache.maven.enforcer.rule.api.AbstractEnforcerRuleBase
getLog, setLog
-
-
-
-
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.
-
upperBoundDepsVisitor
private RequireUpperBoundDeps.RequireUpperBoundDepsVisitor upperBoundDepsVisitor
-
resolverUtil
private final ResolverUtil resolverUtil
-
-
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 ofgroupId:artifactId
names
-
setIncludes
public void setIncludes(java.util.List<java.lang.String> includes)
Sets dependencies to include.- Parameters:
includes
- a list ofgroupId: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 classAbstractEnforcerRule
- Throws:
EnforcerRuleException
- the enforcer rule exceptionEnforcerRuleError
- 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)
-
-