Building OpenJFX with the JDK build system

Philip Race philip.race at oracle.com
Tue Mar 11 20:01:04 UTC 2025


I see no one has responded. That isn't because of a lack of interest .. 
we just haven't had time to discuss it.

Undoubtedly a lot of details to figure out but my take is this is worth 
pursuing.

For webkit, I'd like to think it is *possible* to build it using the JDK 
build system, at least
used as a bootstrap for the cmake webkit build, and at the end to 
collect the artifacts.

A "clean up compiler warnings" effort would be valuable on its own.
Until we actually transitioned the build, we'd probably have to add to 
the gradle system
a way to disable specific warnings, like the JDK does, because it isn't 
practical to eliminate all warnings,
since they some times come from a 3rd party library.

-phil.


On 2/27/25 7:15 AM, Johan Vos wrote:
> Hi,
>
> I introduced this topic during the OpenJDK Committers' workshop in 
> Brussels, on Feb 3, 2025.
> For a long time, I was thinking about building OpenJFX using the JDK 
> buildsystem, and I just blogged about a very basic and limited POC for 
> doing so on Linux: 
> https://johanvos.wordpress.com/2025/02/27/building-openjfx-using-jdk/ 
> . The POC I have for this (linux-only at the moment) is at 
> https://github.com/johanvos/jdk/tree/jfxpoc-blog
> This is just a personal idea and effort, but I would be more than 
> happy to discuss how we as the OpenJFX developers might benefit from this.
>
> One of the main reasons for doing this (I list a number of reasons in 
> my blog post), is the cross-compilation capability. It is also very 
> convenient that the result of the build is now a full JDK image, 
> including the JavaFX modules. I am aware that some companies 
> distribute JavaFX modules with their JDK distribution, and this might 
> help a better alignment.
>
> Since I am also the OpenJDK/Mobile project lead, I have to work with 
> the JDK build system anyhow. To me personally, it saves a major amount 
> of time if I only have to use 1 build system (configure/make) instead 
> of 2 build systems. This is no criticism at all to Gradle, but I lack 
> the expertise (and time to learn) needed to work efficiently with it. 
> With all the projects I do, I try to be as efficient as possible with 
> my time, and streamlining build systems helps.
> The JDK build system is really excellent, and since it is used by so 
> many OpenJDK developers, it feels very familiar. The delta that is 
> needed to have it working and support for JavaFX is very small.
>
> The POC I did is far from complete. There are a number of issues that 
> need to be tackled, e.g.:
> * what about webkit?
> * we have a code-generator for shaders, that is using a very old 
> external dependency. While the JDK build system has great support to 
> generate code, I'm not sure this is the ideal approach
> * warnings, warnings and warnings.
>
> The last item is something that I believe should be tacklked in any 
> case. I had to disable the warnings-as-errors, and I had to add a fair 
> amount of exceptions to javac warnings. This might be a good time to 
> look into this as well.
>
> Again, I want to stress that this is just an experiment I did because 
> it would save me lots of time, and make it much easier for me to 
> understand what is going on in builds. I absolutely do not want to 
> imply that this is much better than what we currently have. But maybe 
> others are interested as well, and in that case we can discuss this.
>
> - Johan



More information about the openjfx-dev mailing list