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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Declarative JPMS descriptors #879

Merged
merged 1 commit into from
Aug 22, 2024

Conversation

vietj
Copy link
Contributor

@vietj vietj commented Aug 7, 2024

tcnative should provide declarative modules for the set of its artifacts.

This is a preliminary contribution that will enable the support of declarative JPMS descriptors for Netty 4.2 branch.

Generated artifacts are multi release jar to remain compatible with Java 8.

This has been tested with netty-tcnative-openssl-static on my arm64 mac with a jlink generated image.

@vietj vietj force-pushed the declarative-jpms-descriptors branch from 03a6f48 to be00cb2 Compare August 7, 2024 21:03
@vietj vietj mentioned this pull request Aug 7, 2024
26 tasks
@normanmaurer
Copy link
Member

@vietj this will fix #880 as well, correct ?

@vietj
Copy link
Contributor Author

vietj commented Aug 9, 2024

@normanmaurer no it does not

this is related to the build itself, let me check today if I can fix it, I'll get back to you

@vietj
Copy link
Contributor Author

vietj commented Aug 9, 2024

@normanmaurer 5a29417 fixes it

@normanmaurer
Copy link
Member

@vietj can you squash this one ?

@normanmaurer normanmaurer added this to the 2.0.66.Final milestone Aug 9, 2024
@vietj
Copy link
Contributor Author

vietj commented Aug 10, 2024

sure

tcnative should provide declarative modules for the set of its artifacts.

Modifications:

- remove the automatic module name declaration (META-INF/MANIFEST entry)
- use the module-info maven plugin to generate module-info descriptors in META-INF/versions/11/module-info.class
- the build produces multi release jars
- run twice the module-info plugin and avoid copying the generated module-info.class when building the native jar, so the default jar uses io.netty.internal.tcnative as a module name, instead of the same module name with classifier

Result:

tcnative provides declarative java modules.
@vietj vietj force-pushed the declarative-jpms-descriptors branch from 5a29417 to fa7d15b Compare August 10, 2024 07:38
@vietj
Copy link
Contributor Author

vietj commented Aug 10, 2024

@normanmaurer done

@vietj
Copy link
Contributor Author

vietj commented Aug 22, 2024

@normanmaurer any news about getting a release for this one ?

@normanmaurer
Copy link
Member

Will look into it

@normanmaurer normanmaurer merged commit 9256e3e into netty:main Aug 22, 2024
7 checks passed
@vietj vietj deleted the declarative-jpms-descriptors branch August 22, 2024 14:10
@normanmaurer
Copy link
Member

@vietj will do a release tomorrow

@vietj
Copy link
Contributor Author

vietj commented Aug 22, 2024 via email

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