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

Explicit module-descriptor for Java 9 and later #940

Closed
TheMrMilchmann opened this issue Jul 28, 2020 · 2 comments
Closed

Explicit module-descriptor for Java 9 and later #940

TheMrMilchmann opened this issue Jul 28, 2020 · 2 comments
Labels

Comments

@TheMrMilchmann
Copy link
Contributor

What is your use-case and why do you need this feature?
As of Kotlin 1.4-M3, Java 9 module descriptors have been added to the standard library artifacts (KT-21266). It would be nice to see this also happen to libraries in the Kotlin ecosystem going forward as this would enable Kotlin JVM applications to benefit from modern JDK tools (such as jlink). As kotlinx.serialization has no remaining unmodularized dependencies, it seems like an ideal candidate to receive module support.

Describe the solution you'd like
Ideally, an explicit descriptor would be added using the Multi-Release JAR mechanism (JEP 238) added in JDK 9 (just as it was done for the standard library).

@TheMrMilchmann
Copy link
Contributor Author

I'm currently facing a related issue with a fairly simple intermediate solution:

I would love to publish a library with an explicit module descriptor and a dependency on kotlinx.serialization but this is not possible as the latter does not have a stable module name. This could be solved by providing a stable Automatic-Module-Name entry in the JVM artifact's manifest.

@TheMrMilchmann
Copy link
Contributor Author

Explicit module descriptors were added by #1624 and are available in 1.3.0-RC. Thanks, @lion7!

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

No branches or pull requests

1 participant