Hello,

I'm wondering if there is any interest in making Apache Avro a proper Java
module? The following changes are required.

- Add or generate the module-info.java file.
- Change the POM file to build a multi-release jar.
- Replace xerial Snappy with Apache commons-compress Snappy (see additional
information below).
- Update dependencies (like slf4) to the current versions.
- Build with newer JDK. I'm using 21.

Regarding the Snappy compressor, the next version of Apache
commons-compress (1.25.1) can be swapped in for Xerial with no issues. All
of the existing unit tests will work without changes. Xerial is not a
proper Java module at this time, and it uses JNI which could make it tricky
(especially if the goal is to use jlink).

For me, the motivation here is to use Avro with modularized
applications and custom runtime images using jlink.

I currently have this working locally, and I can contribute my changes.

Please let me know what you think.

Thanks,

Chad

Reply via email to