From 9754418c500b37f4f6dbe7318477a9d80b2a0644 Mon Sep 17 00:00:00 2001 From: Andres Almiray Date: Sun, 29 Jan 2023 14:38:49 +0100 Subject: [PATCH] feat: Include JAVA_HOME location in RequireJavaVendor --- .../enforcer/rules/RequireJavaVendor.groovy | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/core/enforcer-rules/src/main/groovy/enforcer/rules/RequireJavaVendor.groovy b/core/enforcer-rules/src/main/groovy/enforcer/rules/RequireJavaVendor.groovy index a334a28..09f6614 100644 --- a/core/enforcer-rules/src/main/groovy/enforcer/rules/RequireJavaVendor.groovy +++ b/core/enforcer-rules/src/main/groovy/enforcer/rules/RequireJavaVendor.groovy @@ -18,6 +18,7 @@ package enforcer.rules import groovy.transform.CompileStatic +import org.apache.commons.lang3.SystemUtils import org.gradle.api.model.ObjectFactory import org.gradle.api.provider.ListProperty import org.kordamp.gradle.plugin.enforcer.api.EnforcerContext @@ -60,27 +61,23 @@ class RequireJavaVendor extends AbstractStandardEnforcerRule { @Override protected void doExecute(EnforcerContext context) throws EnforcerRuleException { - String javaVendor = System.getProperty('java.vendor') + String javaVendor = SystemUtils.JAVA_VENDOR - if (excludes.get().contains(javaVendor)) { - if (!includes.get().empty) { - if (!includes.get().contains(javaVendor)) { - throw createException(javaVendor) - } - return - } - throw createException(javaVendor) + if (excludes.present && excludes.get().contains(javaVendor)) { + throw fail(javaVendor, 'an excluded', (List) excludes.get()) + } else if (includes.present && !includes.get().contains(javaVendor)) { + throw fail(javaVendor, 'not an included', (List) includes.get()) } } - private EnforcerRuleException createException(String javaVendor) { + private EnforcerRuleException fail(String javaVendor, String action, List list) { StringBuilder sb = new StringBuilder() if (message.present) { sb.append(message.get()) .append(System.lineSeparator()) } - sb.append("Vendor \"${javaVendor}\" is in a list of banned vendors: ${excludes.get()}") + sb.append("${javaVendor} is ${action} Required Java Vendor (JAVA_HOME=${SystemUtils.JAVA_HOME}) ${list}") fail(sb.toString()) }