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

Fix #385: add module-info.class using Moditect plugin #393

Merged
merged 1 commit into from
Nov 3, 2020

Conversation

cowtowncoder
Copy link
Member

As per title, this is for #385, add generation of module-info.class using Moditect plugin, same as almost every other Jackson module.

@cowtowncoder
Copy link
Member Author

@GedMarc something like this? Seems to generate the module-info in jar.

@GedMarc
Copy link

GedMarc commented Nov 3, 2020

Looks good - now everything but the tears....

Man this is going to have an impact on Kotlin I just know it, I am so sketchy doing this.

@dinomite I know of one bug so far where resources on JDK 12 and higher can't get called, this is due to a change where empty paths are classified packages, and accessing them requires an opens clause to the calling module,
https://stackoverflow.com/questions/63970646/cannot-load-resources-in-a-modular-java-application

But these small undocumented (f-sakes) changes have a big impact, I still don't know how the JDK 13 change where service loaders not longer reference META-INF/services and only the module-info files (using provides clause) will do here. Especially since a provides clause can only be specified in module-info (not even command line) and only from the module containing the class being provided...

This may be a tall order, but is it possible to have @dinomite test this before even pulling it in, this could be really dangerous doing it before kotlin actually supports it. I've found in places making one module strictly defined makes the compiler define them all strictly

@cowtowncoder
Copy link
Member Author

One thing that may help is that I still plan on releasing 2.12.0-rc2 first, give some time to test, allow changes (like reverting inclusion if need be) and only then 2.12.0 is released.

@cowtowncoder cowtowncoder modified the milestones: 2.12.0, 2.12.0-rc2 Nov 3, 2020
@cowtowncoder
Copy link
Member Author

Will go ahead, merge; if there are issues we can just remove/comment out ref to moditect from pom.xml

@cowtowncoder cowtowncoder merged commit 3be4b06 into 2.12 Nov 3, 2020
@cowtowncoder cowtowncoder deleted the tatu/github-385-module-info branch November 3, 2020 18:50
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.

3 participants