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

Reply via email to