Class BannedDependencies
- java.lang.Object
-
- org.apache.maven.plugins.enforcer.AbstractStandardEnforcerRule
-
- org.apache.maven.plugins.enforcer.AbstractNonCacheableEnforcerRule
-
- org.apache.maven.plugins.enforcer.AbstractBanDependencies
-
- org.apache.maven.plugins.enforcer.BannedDependencies
-
- All Implemented Interfaces:
EnforcerRule
,EnforcerRule2
- Direct Known Subclasses:
BannedPlugins
public class BannedDependencies extends AbstractBanDependencies
This rule checks that lists of dependencies are not included.- Version:
- $Id: BannedDependencies.java 1697215 2015-08-23 16:27:17Z khmarbaise $
- Author:
- Brian Fox
-
-
Constructor Summary
Constructors Constructor Description BannedDependencies()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Set<org.apache.maven.artifact.Artifact>
checkDependencies(Set<org.apache.maven.artifact.Artifact> theDependencies, org.apache.maven.plugin.logging.Log log)
Checks the set of dependencies against the list of excludes.protected boolean
compareDependency(String pattern, org.apache.maven.artifact.Artifact artifact)
Compares the given pattern against the given artifact.List<String>
getExcludes()
Gets the excludes.List<String>
getIncludes()
Gets the includes.void
setExcludes(List<String> theExcludes)
Specify the banned dependencies.void
setIncludes(List<String> theIncludes)
Specify the allowed dependencies.-
Methods inherited from class org.apache.maven.plugins.enforcer.AbstractBanDependencies
execute, getDependenciesToCheck, getErrorMessage, isSearchTransitive, setSearchTransitive
-
Methods inherited from class org.apache.maven.plugins.enforcer.AbstractNonCacheableEnforcerRule
getCacheId, isCacheable, isResultValid
-
Methods inherited from class org.apache.maven.plugins.enforcer.AbstractStandardEnforcerRule
getLevel, getMessage, setLevel, setMessage
-
-
-
-
Method Detail
-
checkDependencies
protected Set<org.apache.maven.artifact.Artifact> checkDependencies(Set<org.apache.maven.artifact.Artifact> theDependencies, org.apache.maven.plugin.logging.Log log) throws EnforcerRuleException
Checks the set of dependencies against the list of excludes.- Specified by:
checkDependencies
in classAbstractBanDependencies
- Parameters:
theDependencies
- the dependencieslog
- the log- Returns:
- the sets the
- Throws:
EnforcerRuleException
- the enforcer rule exception
-
compareDependency
protected boolean compareDependency(String pattern, org.apache.maven.artifact.Artifact artifact) throws EnforcerRuleException
Compares the given pattern against the given artifact. The pattern should follow the formatgroupId:artifactId:version:type:scope:classifier
.- Parameters:
pattern
- The pattern to compare the artifact with.artifact
- the artifact- Returns:
true
if the artifact matches one of the patterns- Throws:
EnforcerRuleException
- the enforcer rule exception
-
setExcludes
public void setExcludes(List<String> theExcludes)
Specify the banned dependencies. This can be a list of artifacts in the formatgroupId[:artifactId][:version]
. Any of the sections can be a wildcard by using '*' (ie group:*:1.0)
The rule will fail if any dependency matches any exclude, unless it also matches an include rule.- Parameters:
theExcludes
- the excludes to set- See Also:
getExcludes()
-
setIncludes
public void setIncludes(List<String> theIncludes)
Specify the allowed dependencies. This can be a list of artifacts in the formatgroupId[:artifactId][:version]
. Any of the sections can be a wildcard by using '*' (ie group:*:1.0)
Includes override the exclude rules. It is meant to allow wide exclusion rules with wildcards and still allow a smaller set of includes.
For example, to ban all xerces except xerces-api -> exclude "xerces", include "xerces:xerces-api"- Parameters:
theIncludes
- the includes to set- See Also:
setIncludes(List)
-
-