Class RequireJavaVendor

All Implemented Interfaces:
EnforcerRule, EnforcerRule2

public class RequireJavaVendor extends AbstractNonCacheableEnforcerRule
This rule checks that the Java vendor is allowed. Rule will fail is it matches any of the excludes or doesn't match any include in case it was set.
Since:
3.0.0
  • Field Details

    • includes

      private List<String> includes
      Java vendors to include. If none is defined, all are included.
    • excludes

      private List<String> excludes
      Java vendors to exclude.
  • Constructor Details

    • RequireJavaVendor

      public RequireJavaVendor()
  • Method Details

    • execute

      public void execute(EnforcerRuleHelper helper) throws EnforcerRuleException
      Description copied from interface: EnforcerRule
      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 if it should stop or just log the message as a warning.
      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
    • setExcludes

      public void setExcludes(List<String> theExcludes)
      Specify the banned vendors. This should be an exact match of the System Property java.vendor, which you can also see with mvn --version.
      Excludes override the include rules.
      Parameters:
      theExcludes - the vendor to to exclude from the include list.
    • setIncludes

      public void setIncludes(List<String> theIncludes)
      Specify the allowed vendor names. This should be an exact match of the System Property java.vendor, which you can also see with mvn --version.
      The rule will fail if vendor name matches any exclude, unless it also matches an include rule. Some examples are:
      • AdoptOpenJDK prohibits vendor name AdoptOpenJDK
      • Amazon prohibits vendor name Amazon
      Parameters:
      theIncludes - the list of required vendors.
      See Also: