Class EnforceBytecodeVersion
java.lang.Object
org.apache.maven.plugins.enforcer.AbstractMojoHausEnforcerRule
org.apache.maven.plugins.enforcer.AbstractResolveDependencies
org.apache.maven.plugins.enforcer.EnforceBytecodeVersion
- All Implemented Interfaces:
org.apache.maven.enforcer.rule.api.EnforcerRule,org.apache.maven.enforcer.rule.api.EnforcerRule2
Enforcer rule that will check the bytecode version of each class of each dependency.
- Since:
- 1.0-alpha-4
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.maven.plugins.enforcer.AbstractResolveDependencies
AbstractResolveDependencies.IgnorableDependency -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String[]Default ignores when validating against jdk < 9 becausemodule-info.classwill always have level 1.9.private String[]List of classes to ignore.private String[]Optional list of dependency scopes to ignore.private booleanIgnore all dependencies which have<optional>true</optional>.(package private) intIf unsure, don't use that parameter.(package private) intThis parameter is here for potentially advanced use cases, but it seems like it is actually always 0.private StringJDK version as used for example in the maven-compiler-plugin: 1.5, 1.6 and so on.private Stringprivate final Patternprivate booleanSpecify if transitive dependencies should be searched (default) or only look at direct dependencies. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Set<org.apache.maven.artifact.Artifact>checkDependencies(Set<org.apache.maven.artifact.Artifact> dependencies, org.apache.maven.plugin.logging.Log log) private voidcloseQuietly(JarFile jarFile) private voidprivate Set<org.apache.maven.artifact.Artifact>filterArtifacts(Set<org.apache.maven.artifact.Artifact> dependencies) protected CharSequencegetErrorMessage(org.apache.maven.artifact.Artifact artifact) protected voidhandleArtifacts(Set<org.apache.maven.artifact.Artifact> artifacts) private StringisBadArtifact(org.apache.maven.artifact.Artifact a) protected boolean(package private) static StringrenderVersion(int major, int minor) voidsetMaxJavaMajorVersionNumber(int maxJavaMajorVersionNumber) voidsetMaxJavaMinorVersionNumber(int maxJavaMinorVersionNumber) voidsetSearchTransitive(boolean theSearchTransitive) Sets the search transitive.Methods inherited from class org.apache.maven.plugins.enforcer.AbstractResolveDependencies
asRegex, execute, getCacheId, getLog, isCacheable, isResultValidMethods inherited from class org.apache.maven.plugins.enforcer.AbstractMojoHausEnforcerRule
getLevel, setLevel
-
Field Details
-
JDK_TO_MAJOR_VERSION_NUMBER_MAPPING
-
DEFAULT_CLASSES_IGNORE_BEFORE_JDK_9
Default ignores when validating against jdk < 9 becausemodule-info.classwill always have level 1.9. -
MULTIRELEASE
-
message
-
maxJdkVersion
JDK version as used for example in the maven-compiler-plugin: 1.5, 1.6 and so on. If in need of more precise configuration please seemaxJavaMajorVersionNumberandmaxJavaMinorVersionNumberMandatory ifmaxJavaMajorVersionNumbernot specified. -
maxJavaMajorVersionNumber
int maxJavaMajorVersionNumberIf unsure, don't use that parameter. Better look atmaxJdkVersion. Mandatory ifmaxJdkVersionis not specified. see http://en.wikipedia.org/wiki/Java_class_file#General_layout -
maxJavaMinorVersionNumber
int maxJavaMinorVersionNumberThis parameter is here for potentially advanced use cases, but it seems like it is actually always 0. -
searchTransitive
private boolean searchTransitiveSpecify if transitive dependencies should be searched (default) or only look at direct dependencies. -
includes
- See Also:
-
AbstractStrictPatternArtifactFilter
-
excludes
- See Also:
-
AbstractStrictPatternArtifactFilter
-
ignoreClasses
List of classes to ignore. Wildcard at the end accepted -
ignoredScopes
Optional list of dependency scopes to ignore.testandprovidedmake sense here. -
ignoreOptionals
private boolean ignoreOptionalsIgnore all dependencies which have<optional>true</optional>.- Since:
- 1.2
-
ignorableDependencies
-
-
Constructor Details
-
EnforceBytecodeVersion
public EnforceBytecodeVersion()
-
-
Method Details
-
renderVersion
-
handleArtifacts
protected void handleArtifacts(Set<org.apache.maven.artifact.Artifact> artifacts) throws org.apache.maven.enforcer.rule.api.EnforcerRuleException - Specified by:
handleArtifactsin classAbstractResolveDependencies- Throws:
org.apache.maven.enforcer.rule.api.EnforcerRuleException
-
isSearchTransitive
protected boolean isSearchTransitive()- Overrides:
isSearchTransitivein classAbstractResolveDependencies
-
getErrorMessage
-
computeParameters
private void computeParameters() throws org.apache.maven.enforcer.rule.api.EnforcerRuleException- Throws:
org.apache.maven.enforcer.rule.api.EnforcerRuleException
-
checkDependencies
protected Set<org.apache.maven.artifact.Artifact> checkDependencies(Set<org.apache.maven.artifact.Artifact> dependencies, org.apache.maven.plugin.logging.Log log) throws org.apache.maven.enforcer.rule.api.EnforcerRuleException - Throws:
org.apache.maven.enforcer.rule.api.EnforcerRuleException
-
isBadArtifact
private String isBadArtifact(org.apache.maven.artifact.Artifact a) throws org.apache.maven.enforcer.rule.api.EnforcerRuleException - Throws:
org.apache.maven.enforcer.rule.api.EnforcerRuleException
-
closeQuietly
-
setMaxJavaMajorVersionNumber
public void setMaxJavaMajorVersionNumber(int maxJavaMajorVersionNumber) -
setMaxJavaMinorVersionNumber
public void setMaxJavaMinorVersionNumber(int maxJavaMinorVersionNumber) -
setSearchTransitive
public void setSearchTransitive(boolean theSearchTransitive) Sets the search transitive.- Parameters:
theSearchTransitive- the searchTransitive to set
-
filterArtifacts
-