Class BanTransitiveDependencies
java.lang.Object
org.apache.maven.plugins.enforcer.AbstractStandardEnforcerRule
org.apache.maven.plugins.enforcer.AbstractNonCacheableEnforcerRule
org.apache.maven.plugins.enforcer.BanTransitiveDependencies
- All Implemented Interfaces:
EnforcerRule,EnforcerRule2
public class BanTransitiveDependencies
extends AbstractNonCacheableEnforcerRule
implements EnforcerRule
This rule bans all transitive dependencies. There is a configuration option to exclude certain artifacts from being
checked.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate org.apache.maven.shared.dependency.graph.DependencyGraphBuildervoidexecute(EnforcerRuleHelper helper) This is the interface into the rule.private static booleansearchTree(org.apache.maven.shared.dependency.graph.DependencyNode node, int level, ArtifactMatcher excludes, StringBuilder message) Searches dependency tree recursively for transitive dependencies that are not excluded, while generating nice info message along the way.Methods inherited from class org.apache.maven.plugins.enforcer.AbstractNonCacheableEnforcerRule
getCacheId, isCacheable, isResultValidMethods inherited from class org.apache.maven.plugins.enforcer.AbstractStandardEnforcerRule
getLevel, getMessage, setLevel, setMessageMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.maven.enforcer.rule.api.EnforcerRule
getCacheId, isCacheable, isResultValid
-
Field Details
-
helper
-
excludes
Specify the dependencies that will be ignored. This can be a list of artifacts in the formatgroupId[:artifactId][:version][:type][:scope]. Wildcard '*' can be used to in place of specific section (ie group:*:1.0 will match both 'group:artifact:1.0' and 'group:anotherArtifact:1.0')
You can override this patterns by using includes. Version is a string representing standard maven version range. Empty patterns will be ignored. -
includes
Specify the dependencies that will be checked. These are exceptions to excludes intended for more convenient and finer settings. This can be a list of artifacts in the formatgroupId[:artifactId][:version][:type][:scope]. Wildcard '*' can be used to in place of specific section (ie group:*:1.0 will match both 'group:artifact:1.0' and 'group:anotherArtifact:1.0')
Version is a string representing standard maven version range. Empty patterns will be ignored.
-
-
Constructor Details
-
BanTransitiveDependencies
public BanTransitiveDependencies()
-
-
Method Details
-
execute
Description copied from interface:EnforcerRuleThis 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 if it should stop or just log the message as a warning.- Specified by:
executein interfaceEnforcerRule- Parameters:
helper- The helper provides access to the log, MavenSession and has helpers to get common components. It is also able to lookup components by class name.- Throws:
EnforcerRuleException- the enforcer rule exception
-
createDependencyGraphBuilder
private org.apache.maven.shared.dependency.graph.DependencyGraphBuilder createDependencyGraphBuilder() throws org.codehaus.plexus.component.repository.exception.ComponentLookupException- Throws:
org.codehaus.plexus.component.repository.exception.ComponentLookupException