<div dir="ltr">Hi John,<div><br></div><div>Many thanks for the feedback and the confirmation, much appreciated!</div><div>As for the question "when can we switch?" -> aha, great question. I believe the major todo is to make sure that this approach is maintainable, without putting a burden on the openjkd/jdk development, making sure it does not make the life of the current openjfx developers/reviewers more difficult. So we first need to make sure the approach is maintainable in a predictable and consistent way. This is what I just mentioned in my reply to Phil on the same thread [1], and I discuss it at greater length in a separate post [2].</div><div>I want to add specifically in this reply that I believe that this suggestion (the auto-updated leverage of a slightly extended jdk-build approach) brings us also a step closer to completely reproducible builds.</div><div><br></div><div>- Johan</div><div><br></div><div>[1] <a href="https://mail.openjdk.org/pipermail/openjfx-dev/2025-March/053076.html">https://mail.openjdk.org/pipermail/openjfx-dev/2025-March/053076.html</a></div><div>[2] <a href="https://johanvos.wordpress.com/2025/03/27/building-a-jdk-including-openjfx-part-2/">https://johanvos.wordpress.com/2025/03/27/building-a-jdk-including-openjfx-part-2/</a></div><div><br></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, Mar 12, 2025 at 8:11 PM John Neffenger <<a href="mailto:john@status6.com">john@status6.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 2/27/25 7:15 AM, Johan Vos wrote:<br>
> The POC I have for this (linux-only at the moment) is at<br>
> <a href="https://github.com/johanvos/jdk/tree/jfxpoc-blog" rel="noreferrer" target="_blank">https://github.com/johanvos/jdk/tree/jfxpoc-blog</a><br>
<br>
That's very clever, Johan. I never thought of using the JDK repository <br>
as-is to build JavaFX. I agree it's "one of the most excellent build <br>
systems for software development today," so what a great idea to start <br>
with that!<br>
<br>
Your "proof of concept" repository builds successfully for me on Ubuntu <br>
22.04 LTS and goes rather smoothly through the JavaFX modules:<br>
<br>
     Compiling up to 1 files for <a href="http://java.se" rel="noreferrer" target="_blank">java.se</a><br>
  -> Compiling up to 312 files for javafx.base<br>
     Compiling up to 18 files for jdk.accessibility<br>
     Compiling up to 3 files for jdk.editpad<br>
     Compiling up to 904 files for jdk.hotspot.agent<br>
     Compiling up to 64 files for jdk.jconsole<br>
     Compiling up to 69 files for jdk.jpackage<br>
     Compiling up to 8 files for jdk.unsupported.desktop<br>
  -> Compiling up to 1695 files for javafx.graphics<br>
  -> Compiling up to 296 files for javafx.controls<br>
<br>
The only rough edges are the 'javac' notes about deprecated APIs and <br>
unchecked or unsafe operations in use by JavaFX. Also, as you note, the <br>
'gcc' warnings are a bit jarring when you're accustomed to the sparse <br>
output of the JDK build by itself.<br>
<br>
After the build, the JavaFX JMOD files are found in the right place:<br>
<br>
$ ls build/linux-x86_64-server-release/images/jdk/jmods/javafx*<br>
build/linux-x86_64-server-release/images/jdk/jmods/javafx.base.jmod<br>
build/linux-x86_64-server-release/images/jdk/jmods/javafx.controls.jmod<br>
build/linux-x86_64-server-release/images/jdk/jmods/javafx.graphics.jmod<br>
<br>
and the runtime image includes over 4,000 JavaFX classes:<br>
<br>
$ jimage list build/linux-x86_64-server-release/images/jdk/lib/modules \<br>
     | grep javafx | wc -l<br>
4009<br>
<br>
I tested it with a "Hello World" JavaFX application on Ubuntu 24.04 LTS, <br>
and it worked fine except for a minor error:<br>
<br>
$ opt/jdk/bin/java --enable-native-access=javafx.graphics \<br>
     -jar tmp/dist/hello-javafx-1.0.0.jar<br>
Mar 12, 2025 7:04:06 PM com.sun.javafx.css.StyleManager loadStylesheet<br>
WARNING: Resource "com/sun/javafx/scene/control/skin/modena/modena.css"<br>
not found.<br>
Hello World!<br>
<br>
So when can we switch?! :-)<br>
<br>
Thanks,<br>
John<br>
<br>
</blockquote></div>