14 RFR (M) 8232080: jlink plugins for vendor information and run-time options
mark.reinhold at oracle.com
mark.reinhold at oracle.com
Tue Oct 22 03:22:53 UTC 2019
RFE: https://bugs.openjdk.java.net/browse/JDK-8232080
CSR: https://bugs.openjdk.java.net/browse/JDK-8232753
Webrev: https://cr.openjdk.java.net/~mr/rev/8232080/
This change implements jlink plugins, and associated changes in the VM
and libraries, to support the following new jlink options:
- --vendor-bug-url=<vendor-bug-url> overrides the vendor bug URL baked
into the build. The value of the system property "java.vendor.url.bug"
will be <vendor-bug-url>.
- --vendor-vm-bug-url=<vendor-vm-bug-url> overrides the vendor VM bug
URL baked into the build. This value will be displayed in VM error
logs.
- --vendor-version=<vendor-version> overrides the vendor version string
baked into the build, if any. The value of the system property
"java.vendor.version" will be <vendor-version>. This value will be
displayed in the output of java --version.
- --add-options=<options> prepends the specified <options> string,
which may include whitespace, before any other options when invoking
the VM in the resulting image.
The vendor-information plugins work by using the JDK’s internal ASM
library to redefine static fields in the java.lang.VersionProps class.
The VM reads the vendor-version and vendor-vm-bug-url strings from that
class during startup.
The add-options plugin works by storing the requested options in an
internal resource, /java.base/jdk/internal/vm/options. The VM loads that
resource from the lib/modules jimage file during startup and prepends any
options found there to those given on the command line.
Passes tier1-3 and JCK on {linux,macos,windows}-x64.
Thanks,
- Mark
More information about the build-dev
mailing list