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

3.x Consider adding a full Java module descriptor #7240

Closed
aalmiray opened this issue Apr 18, 2021 · 6 comments · Fixed by #7241
Closed

3.x Consider adding a full Java module descriptor #7240

aalmiray opened this issue Apr 18, 2021 · 6 comments · Fixed by #7241

Comments

@aalmiray
Copy link
Contributor

Full Java module descriptors (module-info.class) are a hard requirement for building custom Java Runtimes with Jlink.

It looks like the build must remain pre Java modules however given that the build is Gradle based there's the https://plugins.gradle.org/plugin/org.beryx.jar plugin that can be applied to keep the build in its current Java version while at the same time providing a full module descriptor. Caveat: the generated JAR will become a multi-release JAR.

If there's any interest I'll gladly provide a PR and help with maintenance.

Relates to: reactive-streams/reactive-streams-jvm#531

@akarnokd
Copy link
Member

Okay, as long as it doesn't break Android tooling.

It seems we'll need a couple of things:

  • JDK 9+ GHA. A new GHA can be added with just "jar" task. The current JDK 11 build has to target 8.
  • Use the module info workaround

@aalmiray
Copy link
Contributor Author

Correct. I must confess I know little of the Android ecosystem. It's my hope that additional entries found under /META-INF/versions/x would not cause any disruptions on Android.

@JakeWharton
Copy link
Member

MR jars will have their content ignored by Android toolchain, yes

@akarnokd
Copy link
Member

Great. @aalmiray you can post a PR for this.

@aalmiray
Copy link
Contributor Author

This is great. However in order to have RxJava's module descriptor be fully modular we'll need an answer from the ReactiveStreams WG -> reactive-streams/reactive-streams-jvm#531

@aalmiray
Copy link
Contributor Author

FYI encountered bndtools/bnd#3514 -> bndtools/bnd#2227 which has yet to be resolved.

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