Class RequireJavaVendor

  • All Implemented Interfaces:
    EnforcerRuleBase

    @Named("requireJavaVendor")
    public final class RequireJavaVendor
    extends AbstractStandardEnforcerRule
    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 Summary

      Fields 
      Modifier and Type Field Description
      private java.util.List<java.lang.String> excludes
      Java vendors to exclude.
      private java.util.List<java.lang.String> includes
      Java vendors to include.
    • Field Detail

      • includes

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

        private java.util.List<java.lang.String> excludes
        Java vendors to exclude.
    • Constructor Detail

      • RequireJavaVendor

        public RequireJavaVendor()
    • Method Detail

      • getCacheId

        public java.lang.String getCacheId()
        The Java Vendor not changed during one Maven session, so can be cached.
        Overrides:
        getCacheId in class AbstractEnforcerRule
        Returns:
        a cache id
      • execute

        public void execute()
                     throws EnforcerRuleException
        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 class AbstractEnforcerRule
        Throws:
        EnforcerRuleException - the enforcer rule exception
        EnforcerRuleError - in order to brake a build immediately
      • setExcludes

        public void setExcludes​(java.util.List<java.lang.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​(java.util.List<java.lang.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:
        setExcludes(List)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object