RFR: 8269967: JavaFX should fail fast on macOS below minimum version

Kevin Rushforth kcr at openjdk.java.net
Fri Jul 9 12:14:55 UTC 2021


On Tue, 6 Jul 2021 23:54:12 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:

> This PR implements a version check in the JavaFX runtime initialization code on macOS to ensure that the platform is running a version of macOS that is at or above the minimum version. If the platform is below the specified minimum, the JavaFX initialization code throws an exception.
> 
> The minimum version is passed from the `mac.gradle` file to the Mac glass code as a pair of build time constants, which are compared at runtime to the platform version.
> 
> Notes to reviewers:
> 
> * In case anyone is interested, the first commit has some debug logging which will print the minimum version and the detected platform version. I removed them with the second commit.

Thanks for the suggestion. I tried it and found that it leads to a less clear exception message. `JNI_OnLoad` is called from `System.loadLibrary`, which turns any exception into an `UnsatisfiedLinkError` without using the message of the caught exception. So instead of a runtime exception with the message `Unsupported macOS version`, we would get something like this:


Caused by: java.lang.UnsatisfiedLinkError: no glass in java.library.path:

-------------

PR: https://git.openjdk.java.net/jfx/pull/567


More information about the openjfx-dev mailing list