Skip to content

Conversation

@ptziegler
Copy link
Contributor

No description provided.

@ptziegler
Copy link
Contributor Author

This is obviously just a prototype, as WindowBuilder can't yet require Java 24. It just serves as an example on how to get rid of the binary file.

@github-actions
Copy link

github-actions bot commented Sep 15, 2025

Test Results

 2 720 files  ±0   2 720 suites  ±0   11h 19m 2s ⏱️ + 33m 22s
 7 004 tests ±0   6 942 ✅  - 4   58 💤 ±0  0 ❌ ±0  4 🔥 +4 
28 016 runs  ±0  27 776 ✅  - 8  232 💤 ±0  0 ❌ ±0  8 🔥 +8 

For more details on these errors, see this check.

Results for commit 3f1689b. ± Comparison against base commit 061cb1c.

♻️ This comment has been updated with latest results.

@ptziegler
Copy link
Contributor Author

SimRel allows an LTS 6-9 months after its initial release, meaning 2026-06.

Let's see how the platform responds, given that they're probably also interested in modernizing their native calls.

@ptziegler
Copy link
Contributor Author

Alternatively to raising the BREE, I might also consider converting this to a multi-release jar. If Java >= 25, the FFM API is used, otherwise the binary.

@ptziegler ptziegler force-pushed the poc-ffma branch 4 times, most recently from 0b8b740 to b7f21a1 Compare November 10, 2025 21:15
@ptziegler ptziegler force-pushed the poc-ffma branch 2 times, most recently from 291d6fe to ba1dbea Compare November 20, 2025 21:37
@ptziegler
Copy link
Contributor Author

I'll probably stick with a multi-release approach where FFMA is only used when running Java 24 and onward. This prototype is fully functional but still needs some more testing and documentation. I'll plan on merging it for the next release cycle.

@ptziegler ptziegler force-pushed the poc-ffma branch 8 times, most recently from 9e20eac to e5f1869 Compare December 2, 2025 20:46
@merks
Copy link
Contributor

merks commented Dec 3, 2025

SimRel allows an LTS 6-9 months after its initial release, meaning 2026-06.

Let's see how the platform responds, given that they're probably also interested in modernizing their native calls.

Yes, the Platform is very interested in this topic as well, but there is a problem with support across all the supported platform:

eclipse-simrel/.github#75

@ptziegler
Copy link
Contributor Author

Yes, the Platform is very interested in this topic as well, but there is a problem with support across all the supported platform

Thankfully due to the multi-release jars, the BREE can stay at Java 21 for the time being. Which is why I plan to already finish this up for the next release.

That said, I'm not even sure whether WindowBuilder would work on all platforms... On Linux, there was only ever a x86/64 binary. The same was true for Windows, until I added a (still untested) aarch64 dll. And the state of the MacOS binaries is unknown to me.

@ptziegler ptziegler marked this pull request as ready for review December 19, 2025 20:38
@ptziegler ptziegler force-pushed the poc-ffma branch 5 times, most recently from fa8044e to fb79fc6 Compare December 21, 2025 11:40
This converts the GTK-specific "org.eclipse.wb.os.linux" plugin into a
multi-release jar, to take advantage of the foreign function and memory
API, while still remaining compatible with older Java versions.

Rather than calling the native methods via our shared library, the
invocations are delegated to the Java linker. If any exception is thrown
in native code, this then leads to a `Throwable` being thrown, rather
than a crash of the entire IDE.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants