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