Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
None
-
None
-
None
Description
Our project relies on the GraalVM. We currently have a gmavenplus-plugin snippet that enforces 1) that the build JDK is GraalVM, and 2) that it has the required version. It looks like this:
<script><![CDATA[ import org.apache.tools.ant.BuildLogger import org.apache.tools.ant.types.LogLevel def currentProjectDir = new File("${basedir}") def javaVmName = System.properties['java.vm.name'] def vmVersion = "${java.vm.version}".tokenize("-") def runtimeVer = "${java.runtime.version}".tokenize(".") def graalVersion = "${graal.version}"; if (graalVersion.reverse().take(1) == "0") { graalVersion = graalVersion.substring(0, graalVersion.length() - 2) } if (!(javaVmName =~ "GraalVM") && !(runtimeVer.contains("graal"))) { ant.fail "Build JVM is not GraalVM." } if (!javaVmName.endsWith("${graal.version}") && !(vmVersion.contains(graalVersion))) { ant.fail "GraalVM version is not ${graal.version}. Found ${vmVersion} instead." } print "Build JVM: ${javaVmName}\n" ]]> </script>
It would be great if the enforcer plugin had a builtin rule for this that looked like this:
<requireGraalVmVersion> <version>19.3.1</version> </requireGraalVmVersion>