The System property java.vendor.version should provide better pointer to the source code version used by AdoptOpenJDK to build OpenJDK. Currently, it only says AdoptOpenJDK.
For information, these are the current property settings for jdk11 (hotspot and openj9):
hotspot:
java.vendor = AdoptOpenJDK
java.vendor.url = https://adoptopenjdk.net/
java.vendor.url.bug = https://github.com/AdoptOpenJDK/openjdk-build/issues
java.vendor.version = AdoptOpenJDK
java.version = 11.0.5
java.version.date = 2019-10-15
java.vm.compressedOopsMode = Zero based
java.vm.info = mixed mode
java.vm.name = OpenJDK 64-Bit Server VM
java.vm.specification.name = Java Virtual Machine Specification
java.vm.specification.vendor = Oracle Corporation
java.vm.specification.version = 11
java.vm.vendor = AdoptOpenJDK
java.vm.version = 11.0.5+10
openj9:
java.vendor = Eclipse OpenJ9
java.vendor.url = http://www.eclipse.org/openj9
java.vendor.version = AdoptOpenJDK
java.version = 11.0.5
java.version.date = 2019-10-15
java.vm.info = JRE 11 Windows 10 amd64-64-Bit Compressed References 20191016_357 (JIT enabled, AOT enabled)
OpenJ9 - 77c1cf708
OMR - 20db4fbc
JCL - 2a7af5674b based on jdk-11.0.5+10
java.vm.name = Eclipse OpenJ9 VM
java.vm.specification.name = Java Virtual Machine Specification
java.vm.specification.vendor = Oracle Corporation
java.vm.specification.version = 11
java.vm.vendor = Eclipse OpenJ9
java.vm.version = openj9-0.17.0
jdk.extensions.name = Extensions for OpenJDK for Eclipse OpenJ9
jdk.extensions.version = 11.0.5.0
Since AdoptOpenJDK has the notion of the 'build suffix', perhaps this property would be a place to capture that information (e.g. 11.0.4+11.4)?
@lumpfish Did we have any discussions on what the values of this should be?
ping @lumpfish ref https://github.com/AdoptOpenJDK/openjdk-build/issues/1387#issuecomment-593980424
No discussions I'm aware of.
~This has been changed in #2073 to default to the variant being built.~
This is being reverted.
It may be useful to look at what other distros set this property as for a start.
java.vendor.version = Zulu16.28+11-CA
java.vendor.version = Corretto-11.0.10.9.1
Bell Soft Liberica doesn't have it (couldn't find it on the Mac, at least)
Bell Soft Liberica doesn't have it (couldn't find it on the Mac, at least)
java.vendor.version is optional, openjdk wanted to remove it at one point: https://bugs.openjdk.java.net/browse/JDK-8216383
I quite like using our metadata version string:
"version": "11.0.11+7-202103181819"
and stick AdoptOpenJDK on the front, so:
“AdoptOpenJDK-11.0.11+7-202103181819”
for a nightly build
A release would be:
"AdoptOpenJDK-16+36"
@smlambert just one thought going forward, what's the position on the word AdoptOpenJDK vs EclipseAdoptium ?
Once we complete our transition to Eclipse Foundation and produce our first release (TCKed) under their banner, those properties (and certs we use, etc) will get updated, java.vendor = Eclipse, etc., so you could plan to create this metadata version string where java.vendor.version = java.vendor + version
Example here:
java.vendor.version = AdoptOpenJDK-11.0.11+7-202103230931
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment AdoptOpenJDK-11.0.11+7-202103230931 (build 11.0.11+7-202103230931)
OpenJDK 64-Bit Server VM AdoptOpenJDK-11.0.11+7-202103230931 (build 11.0.11+7-202103230931, mixed mode)
java.vendor.version = AdoptOpenJDK-16+36
openjdk version "16" 2021-03-16
OpenJDK Runtime Environment AdoptOpenJDK-16+36 (build 16+36)
OpenJDK 64-Bit Server VM AdoptOpenJDK-16+36 (build 16+36, mixed mode, sharing)
Most helpful comment
Once we complete our transition to Eclipse Foundation and produce our first release (TCKed) under their banner, those properties (and certs we use, etc) will get updated, java.vendor = Eclipse, etc., so you could plan to create this metadata version string where java.vendor.version = java.vendor + version