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.

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

Commit messages:
 - Update min JDK in CONTRIBUTING.md
 - 8290530: Bump minimum JDK version for JavaFX to JDK 17

Changes: https://git.openjdk.org/jfx/pull/850/files
 Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=850&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8290530
  Stats: 48 lines in 3 files changed: 34 ins; 4 del; 10 mod
  Patch: https://git.openjdk.org/jfx/pull/850.diff
  Fetch: git fetch https://git.openjdk.org/jfx pull/850/head:pull/850

PR: https://git.openjdk.org/jfx/pull/850

Reply via email to