From f1f418820e44b2cbb774ce1a51a89d238cf1ff55 Mon Sep 17 00:00:00 2001 From: Fabio Niephaus Date: Wed, 5 Apr 2023 16:17:34 +0200 Subject: [PATCH 1/3] Inherit `java.vendor.version` from host VM. --- .../com.oracle.svm.core/src/com/oracle/svm/core/VM.java | 7 +------ .../src/com/oracle/svm/driver/NativeImage.java | 5 +++-- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/VM.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/VM.java index c4491a4bde65..a274dd9adf04 100644 --- a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/VM.java +++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/VM.java @@ -24,7 +24,6 @@ */ package com.oracle.svm.core; -import org.graalvm.nativeimage.ImageInfo; import org.graalvm.nativeimage.Platform; import org.graalvm.nativeimage.Platforms; @@ -51,11 +50,7 @@ public static String getSupportUrl() { } public static String getVendorVersion() { - if (ImageInfo.inImageRuntimeCode()) { - return System.getProperty("java.vendor.version"); - } else { - return System.getProperty("org.graalvm.vendorversion", "GraalVM CE"); - } + return System.getProperty("org.graalvm.vendorversion", System.getProperty("java.vendor.version", "")); } @Platforms(Platform.HOSTED_ONLY.class) diff --git a/substratevm/src/com.oracle.svm.driver/src/com/oracle/svm/driver/NativeImage.java b/substratevm/src/com.oracle.svm.driver/src/com/oracle/svm/driver/NativeImage.java index b59ea4f9da28..54e16e917777 100644 --- a/substratevm/src/com.oracle.svm.driver/src/com/oracle/svm/driver/NativeImage.java +++ b/substratevm/src/com.oracle.svm.driver/src/com/oracle/svm/driver/NativeImage.java @@ -80,6 +80,7 @@ import com.oracle.svm.core.OS; import com.oracle.svm.core.SubstrateOptions; import com.oracle.svm.core.SubstrateUtil; +import com.oracle.svm.core.VM; import com.oracle.svm.core.option.BundleMember; import com.oracle.svm.core.option.OptionUtils; import com.oracle.svm.core.option.SubstrateOptionsParser; @@ -114,7 +115,7 @@ private static String getPlatform() { static final String graalvmVendor = System.getProperty("org.graalvm.vendor", "GraalVM Community"); static final String graalvmVendorUrl = System.getProperty("org.graalvm.vendorurl", "https://www.graalvm.org/"); - static final String graalvmVendorVersion = System.getProperty("org.graalvm.vendorversion", "GraalVM CE"); + static final String graalvmVendorVersion = VM.getVendorVersion(); private static Map getCompilerFlags() { Map result = new HashMap<>(); @@ -1519,7 +1520,7 @@ protected int buildImage(List javaArgs, LinkedHashSet cp, LinkedHa /** * Adds a shutdown hook to kill the image builder process if it's still alive. - * + * * @param p image builder process */ private static void installImageBuilderCleanupHook(Process p) { From 92fb682bed2e441f67f2f1c5622e2e72f075225c Mon Sep 17 00:00:00 2001 From: Fabio Niephaus Date: Wed, 5 Apr 2023 16:24:00 +0200 Subject: [PATCH 2/3] Add helpers for vendor and vendor url. --- .../src/com/oracle/svm/core/VM.java | 14 ++++++++++++-- .../src/com/oracle/svm/driver/NativeImage.java | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/VM.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/VM.java index a274dd9adf04..87154b5736b1 100644 --- a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/VM.java +++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/VM.java @@ -39,8 +39,8 @@ public final class VM { public VM(String vmInfo) { info = vmInfo; version = getVersion(); - vendor = System.getProperty("org.graalvm.vendor", "GraalVM Community"); - vendorUrl = System.getProperty("org.graalvm.vendorurl", "https://www.graalvm.org/"); + vendor = getVendor(); + vendorUrl = getVendorUrl(); vendorVersion = getVendorVersion(); } @@ -49,6 +49,16 @@ public static String getSupportUrl() { return System.getProperty("org.graalvm.supporturl", "https://graalvm.org/native-image/error-report/"); } + @Platforms(Platform.HOSTED_ONLY.class) + public static String getVendor() { + return System.getProperty("org.graalvm.vendor", "GraalVM Community"); + } + + @Platforms(Platform.HOSTED_ONLY.class) + public static String getVendorUrl() { + return System.getProperty("org.graalvm.vendorurl", "https://www.graalvm.org/"); + } + public static String getVendorVersion() { return System.getProperty("org.graalvm.vendorversion", System.getProperty("java.vendor.version", "")); } diff --git a/substratevm/src/com.oracle.svm.driver/src/com/oracle/svm/driver/NativeImage.java b/substratevm/src/com.oracle.svm.driver/src/com/oracle/svm/driver/NativeImage.java index 54e16e917777..5dad1779698c 100644 --- a/substratevm/src/com.oracle.svm.driver/src/com/oracle/svm/driver/NativeImage.java +++ b/substratevm/src/com.oracle.svm.driver/src/com/oracle/svm/driver/NativeImage.java @@ -113,8 +113,8 @@ private static String getPlatform() { return (OS.getCurrent().className + "-" + SubstrateUtil.getArchitectureName()).toLowerCase(); } - static final String graalvmVendor = System.getProperty("org.graalvm.vendor", "GraalVM Community"); - static final String graalvmVendorUrl = System.getProperty("org.graalvm.vendorurl", "https://www.graalvm.org/"); + static final String graalvmVendor = VM.getVendor(); + static final String graalvmVendorUrl = VM.getVendorUrl(); static final String graalvmVendorVersion = VM.getVendorVersion(); private static Map getCompilerFlags() { From a4f07863ed723a086db0cc5b14145d8b0cda5fd2 Mon Sep 17 00:00:00 2001 From: Fabio Niephaus Date: Thu, 6 Apr 2023 18:30:52 +0200 Subject: [PATCH 3/3] Restore `org.graalvm.version` property behavior. This fixes Version.getCurrent() invocations for builds, not modifying the base JDK. Closes: #6379 --- .../src/com/oracle/svm/driver/NativeImage.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/substratevm/src/com.oracle.svm.driver/src/com/oracle/svm/driver/NativeImage.java b/substratevm/src/com.oracle.svm.driver/src/com/oracle/svm/driver/NativeImage.java index 5dad1779698c..dc820ab0d1d7 100644 --- a/substratevm/src/com.oracle.svm.driver/src/com/oracle/svm/driver/NativeImage.java +++ b/substratevm/src/com.oracle.svm.driver/src/com/oracle/svm/driver/NativeImage.java @@ -116,6 +116,7 @@ private static String getPlatform() { static final String graalvmVendor = VM.getVendor(); static final String graalvmVendorUrl = VM.getVendorUrl(); static final String graalvmVendorVersion = VM.getVendorVersion(); + static final String graalvmVersion = System.getProperty("org.graalvm.version", "dev"); private static Map getCompilerFlags() { Map result = new HashMap<>(); @@ -821,6 +822,7 @@ private void prepareImageBuildArgs() { addImageBuilderJavaArgs("-Dorg.graalvm.vendor=" + graalvmVendor); addImageBuilderJavaArgs("-Dorg.graalvm.vendorurl=" + graalvmVendorUrl); addImageBuilderJavaArgs("-Dorg.graalvm.vendorversion=" + graalvmVendorVersion); + addImageBuilderJavaArgs("-Dorg.graalvm.version=" + graalvmVersion); addImageBuilderJavaArgs("-Dcom.oracle.graalvm.isaot=true"); addImageBuilderJavaArgs("-Djava.system.class.loader=" + CUSTOM_SYSTEM_CLASS_LOADER);