On Wed, 27 Jul 2022 16:21:12 GMT, Phil Race <[email protected]> wrote:
>> This PR bumps the minimum JDK version needed to build and run JavaFX to JDK >> 17, starting with JavaFX 20. >> >> As discussed in [this >> thread](https://mail.openjdk.org/pipermail/openjfx-dev/2022-July/034874.html) >> on the `openjfx-dev` mailing list, this means that we can start using >> language features and APIs available from JDK 12 through 17. However, this >> is not an open invitation to globally refactor data classes into records, or >> change all multi-line Strings into text blocks. Rather we will be able to >> start using recent JDK capabilities in new code where it makes sense to do >> so. >> >> The changes are as follows: >> >> 1. Added a new `jfx.jdk.target.version` property in `build.properties` to >> define the minimum JDK version, and set it to 17. >> 2. Bumped the minimum version of the boot JDK to 17 and the minimum version >> of gradle to 7.3. >> 3. Use the recent gradle feature to implement the minimum JDK version using >> `--release NN` instead of `-source NN -target NN` where possible (everywhere >> except when building the `javafx.swing` module and the system tests). >> 4. Update `CONTRIBUTING.md` to say that JDK 17 is the minimum. >> >> Because this change has behavioral compatibility impact, it will need a CSR >> and a release note. > > build.gradle line 634: > >> 632: // Define global properties based on the version of Java >> 633: // def status = compareJdkVersion(jdkVersion, "18") >> 634: // ext.jdk18OrLater = (status >= 0) > > Why do we have this if it is commented out ? It's meant to be an example of how to do a conditional based on the JDK version. I could have just removed it, but I'll add a comment to make that clear. ------------- PR: https://git.openjdk.org/jfx/pull/850
