Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

JDK 22 Support #36

Closed
1 task done
overheadhunter opened this issue Feb 22, 2024 · 5 comments
Closed
1 task done

JDK 22 Support #36

overheadhunter opened this issue Feb 22, 2024 · 5 comments

Comments

@overheadhunter
Copy link

Please agree to the following

Summary

Build the project with/for JDK 22

Motivation

see #14 馃槈

Considered Alternatives

No response

Anything else?

Starting with JDK 22, this is no longer a preview feature and this should be the last urgent JDK bump.

@purejava
Copy link
Owner

purejava commented Feb 23, 2024

It's interesting, that the Foreign Function & Memory API has that big changes from Java 21 to Java 22, where it is supposed to no longer be a preview feature, as the changes from 19 to 21 were much lesser.

@overheadhunter
Copy link
Author

overheadhunter commented Feb 23, 2024

The FFM API itself didn't change that much, however jextract is now really gaining pace.

Since you mostly exposed jextract'ed classes directly, lib users will see a huge diff. What I recommend instead is to create your own stable high-level API which is to be consumed by downstream users. Then hide the jextract'ed code behind the public API, basically implementing the facade pattern.

@purejava
Copy link
Owner

The FFM API itself didn't change that much, however jextract is now really gaining pace.

You are right. Taking a deeper look brought me to the same conclusion.

Since you mostly exposed jextract'ed classes directly, lib users will see a huge diff. What I recommend instead is to create your own stable high-level API which is to be consumed by downstream users. Then hide the jextract'ed code behind the public API, basically implementing the facade pattern.

Done. Public API is tested, is working and prepared as a ready-to-merge branch for integrations-linux, once Java 22 has been released.

@infeo
Copy link

infeo commented Apr 17, 2024

Since you already released an artifact build with JDK 22, i think this issue can already be closed 馃槈 All other changes are downstream in consumer libs.

@purejava
Copy link
Owner

Since you already released an artifact build with JDK 22, i think this issue can already be closed 馃槈 All other changes are downstream in consumer libs.

I am lazy. 馃槈 cryptomator/integrations-linux#69 has all the necessary changes for integrations-linux and closes this issue automatically, once merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants