-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Repackaged the library with native (vs automatic) JPMS module support #2025
Conversation
#2026 tracks adding a test action (not compile) for JDK 8.
(That actually exists)
Regarding the null annotations, most IDEs just look at the class name, ignoring the package name. I created local copies of these classes in my own library and it solved the problem. Another option is to use
I then replaced all references from the original p6spy artifact to the new one. All the errors/warnings went away. |
Adds an explicit
module-info.java
file. As a native module, tools requiring modules such as jlink will operate correctly without warnings.This makes jsoup a multi-release jar so it's still compatible with java 8. The
module-info.java
file is:Nullability annotations
I looked at having also a
requires static jsr305
entry as well. That's a build time dependency for our javax nonnull annotations. However as that's an automodule, we get the compile warningRequired filename-based automodules detected: [jsr305-3.0.2.jar]. Please don't publish this project to a public artifact repository!
. So I'm keeping it out. Everything still works and downstream consumers will still get nullability warnings in their IDE. However jsoup developers will see edit-time errors / warnings on the import and use of these annotations. Perhaps now is a good time to implement #1992.Java 8 tests
This change requires a minimum Java version of 9, and the min CI builder is changed to 11 (LTS). We should add a CI action to test a built jar under Java 8. Tracked in #2026.
Fixes #1943
Fixes #1466