On 9/21/2018 6:00 PM, Ty Young wrote:
Is requiring the previously released JDK to build JavaFX really necessary? Does something *actually* break as a result of using an older boot JDK?


Yes, there is a good reason to do this, and that is to fix JDK-8210092 [1], which gets rid of the legacy swing interop implementation and the associated qualified exports, and some crufty build logic to optionally exclude the classes that depend on JDK 11; this also fixes JDK-8210759 [2] . Also, JDK 10 is obsoleted by JDK 11, which is an LTS, so even if we don't adopt a model of always bumping the minimum boot JDK for each release, it is appropriate to do so now.

In other words, if I wanted to compile JavaFX 12 right now I'd need to use Oracle JDK 10(which may not even be available for download in the future, who knows?), use it to compile JDK 11 with JavaFX 11, and then use that to compile JavaFX 12 if I couldn't find JDK 11 with JavaFX online somewhere.

You misunderstand. Today you need to use a JDK 10 (or JDK 11) *without* the JavaFX classes to build JavaFX 12, just like we did for building JavaFX 11. Starting with JDK 11 there are no more JDKs that include JavaFX. That's why we build JavaFX as a separate SDK and set of maven modules.

And it's only going to get worse as time goes on. Would it not be possible to support up until the last JDK LTS(Starting at 11) release for building JavaFX? I feel like maybe that would be more reasonable.

This is a good question, and maybe in the future we might not be so quick to do this...or maybe we will.  We should discuss this before we get to this point for JavaFX 13, a little less than six months from now. The choices for the model are:

1. Allow building JavaFX N with either JDK N-1 or JDK N.
2. Allow building JavaFX N with the most recent LTS or later.

Choice #1 will allow JavaFX to better keep pace with JDK features (API or language features). Choice #2 will allow JavaFX to build and run with the most current, stable JDK LTS at the cost of not being able to use newer JDK features.

-- Kevin

[1] https://bugs.openjdk.java.net/browse/JDK-8210092
[2] https://bugs.openjdk.java.net/browse/JDK-8210759

Reply via email to