Class RequireJavaVersion
java.lang.Object
org.apache.maven.enforcer.rule.api.AbstractEnforcerRule
org.apache.maven.enforcer.rules.AbstractStandardEnforcerRule
org.apache.maven.enforcer.rules.version.RequireJavaVersion
- All Implemented Interfaces:
EnforcerRuleBase
@Named("requireJavaVersion")
public final class RequireJavaVersion
extends AbstractStandardEnforcerRule
This rule checks that the Java version is allowed.
- Author:
- Brian Fox
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
enforceVersion
(String variableName, String requiredVersionRange, org.apache.maven.artifact.versioning.ArtifactVersion actualVersion) Compares the specified version to see if it is allowed by the defined version range.void
execute()
This is the interface into the rule.If the rule is to be cached during session scope, whole executing of Maven build, this id is used as part of the key.getLog()
Provide anEnforcerLogger
instance for Rulefinal String
Gets the required version.static String
normalizeJDKVersion
(String theJdkVersion) Converts a jdk string from 1.5.0-11b12 to a single 3 digit version like 1.5.0-11void
setLog
(EnforcerLogger log) Used byEnforcerMojo
to inject logger instancevoid
setVersion
(String theVersion) Specify the required version.toString()
protected static String
toString
(org.apache.maven.artifact.versioning.VersionRange vr) Methods inherited from class org.apache.maven.enforcer.rules.AbstractStandardEnforcerRule
formatLocation, getMessage, setMessage
Methods inherited from class org.apache.maven.enforcer.rule.api.AbstractEnforcerRule
getLevel
-
Constructor Details
-
RequireJavaVersion
public RequireJavaVersion()
-
-
Method Details
-
setVersion
Specify the required version. Some examples are:2.0.4
Version 2.0.4 and higher (different from Maven meaning)[2.0,2.1)
Versions 2.0 (included) to 2.1 (not included)[2.0,2.1]
Versions 2.0 to 2.1 (both included)[2.0.5,)
Versions 2.0.5 and higher(,2.0.5],[2.1.1,)
Versions up to 2.0.5 (included) and 2.1.1 or higher
- Parameters:
theVersion
- the required version to set
-
execute
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 exception
-
normalizeJDKVersion
Converts a jdk string from 1.5.0-11b12 to a single 3 digit version like 1.5.0-11- Parameters:
theJdkVersion
- to be converted.- Returns:
- the converted string.
-
toString
-
enforceVersion
public void enforceVersion(String variableName, String requiredVersionRange, org.apache.maven.artifact.versioning.ArtifactVersion actualVersion) throws EnforcerRuleException Compares the specified version to see if it is allowed by the defined version range.- Parameters:
variableName
- name of variable to use in messages (Example: "Maven" or "Java" etc).requiredVersionRange
- range of allowed versions.actualVersion
- the version to be checked.- Throws:
EnforcerRuleException
- the enforcer rule exception
-
toString
-
getCacheId
Description copied from class:AbstractEnforcerRule
If the rule is to be cached during session scope, whole executing of Maven build, this id is used as part of the key.Rule of the same class and the same cache id will be executed once.
- Overrides:
getCacheId
in classAbstractEnforcerRule
- Returns:
- id to be used by the Enforcer to determine uniqueness of cache results.
Return
null
disable cache of rule executing.
-
getVersion
Gets the required version.- Returns:
- the required version
-
setLog
Used byEnforcerMojo
to inject logger instance- Specified by:
setLog
in interfaceEnforcerRuleBase
- Parameters:
log
- anEnforcerLogger
instance
-
getLog
Provide anEnforcerLogger
instance for RuleNOTICE A logger is not available in constructors.
- Returns:
- an
EnforcerLogger
instance
-