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

[JSTEP-11] Change 3.0 to use module-info.java directly for build (instead of via Moditect) #4891

Closed
cowtowncoder opened this issue Jan 9, 2025 · 2 comments
Labels
3.0 Issue planned for initial 3.0 release

Comments

@cowtowncoder
Copy link
Member

cowtowncoder commented Jan 9, 2025

In Jackson 2.x we use Moditect plugin to add module-info.class, instead of relying on javac. This because build is done using JDK 8 which cannot handle module-info.java.

But with Jackson 3.0 using JDK 17 or above we can and should convert.

NOTE: all modules should do this, except for jackson-annotations which remains JDK 8 built for now.

EDIT: actually, even jackson-annotations changed.

@cowtowncoder cowtowncoder added the 3.0 Issue planned for initial 3.0 release label Jan 9, 2025
@cowtowncoder cowtowncoder changed the title Change 3.0 to use module-info.java directly, remove use of Moditect Change 3.0 to use module-info.java directly for build (instead of via Moditect) Jan 11, 2025
@cowtowncoder
Copy link
Member Author

Done!

@cowtowncoder
Copy link
Member Author

Ok, so: I think we will try to do the same for every Jackson module. At this point following modules converted to natively use module-info.java:

  • jackson-annotations
  • jackson-core (was challenging due to shading of FastDoubleParser but managed to make it work)
  • jackson-databind
  • jackson-dataformat-xml

Next things to tackle would be:

  • jackson-modules-base
  • jackson-dataformats-binary
  • jackson-dataformats-text

Changes in matching PR (#4892) may help although for most modules are much simpler to change.
In fact, a better example is probably one for XML module: FasterXML/jackson-dataformat-xml#702

/cc @JooHyukKim @pjfanning @yawkat @k163377

@cowtowncoder cowtowncoder changed the title Change 3.0 to use module-info.java directly for build (instead of via Moditect) [JSTEP-11] Change 3.0 to use module-info.java directly for build (instead of via Moditect) Jan 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.0 Issue planned for initial 3.0 release
Projects
None yet
Development

No branches or pull requests

1 participant