Package org.apache.maven.enforcer.rules
Class RequireOS
java.lang.Object
org.apache.maven.enforcer.rule.api.AbstractEnforcerRule
org.apache.maven.enforcer.rules.AbstractStandardEnforcerRule
org.apache.maven.enforcer.rules.RequireOS
- All Implemented Interfaces:
EnforcerRuleBase
This rule checks that the OS is allowed by combinations of family, name, version and cpu architecture. The behavior
is exactly the same as the Maven Os profile activation so the same values are allowed here.
- Author:
- Brian Fox
-
Method Summary
Modifier and TypeMethodDescriptionbooleanHelper method to check that at least one of family, name, version or arch is set.voidexecute()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 anEnforcerLoggerinstance for RulebooleanHelper method to determine if the current OS is allowed based on the injected values for family, name, version and arch.booleanisValidFamily(String theFamily) Helper method to check if the given family is in the following list: dos mac netware os/2 tandem unix windows win9x z/os os/400 Note: '!' is allowed at the beginning of the string and still considered valid.voidSets the arch.voidsetDisplay(boolean display) voidSets the family.voidsetLog(EnforcerLogger log) Used byEnforcerMojoto inject logger instancevoidSets the name.voidsetVersion(String theVersion) Sets the version.toString()Methods inherited from class org.apache.maven.enforcer.rules.AbstractStandardEnforcerRule
formatLocation, getMessage, setMessageMethods inherited from class org.apache.maven.enforcer.rule.api.AbstractEnforcerRule
getLevel
-
Method Details
-
execute
Description copied from class:AbstractEnforcerRuleThis 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:
executein classAbstractEnforcerRule- Throws:
EnforcerRuleException- the enforcer rule exception
-
isAllowed
Helper method to determine if the current OS is allowed based on the injected values for family, name, version and arch.- Returns:
- true if the version is allowed.
-
allParamsEmpty
Helper method to check that at least one of family, name, version or arch is set.- Returns:
- true if all parameters are empty.
-
isValidFamily
Helper method to check if the given family is in the following list:- dos
- mac
- netware
- os/2
- tandem
- unix
- windows
- win9x
- z/os
- os/400
- Parameters:
theFamily- the family to check.- Returns:
- true if one of the valid families.
-
setArch
Sets the arch.- Parameters:
theArch- the arch to set
-
setFamily
Sets the family.- Parameters:
theFamily- the family to set
-
setName
Sets the name.- Parameters:
theName- the name to set
-
setVersion
Sets the version.- Parameters:
theVersion- the version to set
-
setDisplay
- Parameters:
display- The value for the display.
-
getCacheId
Description copied from class:AbstractEnforcerRuleIf 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:
getCacheIdin classAbstractEnforcerRule- Returns:
- id to be used by the Enforcer to determine uniqueness of cache results.
Return
nulldisable cache of rule executing.
-
toString
-
setLog
Used byEnforcerMojoto inject logger instance- Specified by:
setLogin interfaceEnforcerRuleBase- Parameters:
log- anEnforcerLoggerinstance
-
getLog
Provide anEnforcerLoggerinstance for RuleNOTICE A logger is not available in constructors.
- Returns:
- an
EnforcerLoggerinstance
-