OpenFeign / feign-form

Open Feign form encoder
Apache License 2.0
290 stars 80 forks source link

Support Java Modules #113

Open aalmiray opened 1 year ago

aalmiray commented 1 year ago

v3.8.0 defines an automatic module name

$ jarviz module name --file feign-form-3.8.0.jar 
subject: feign-form-3.8.0.jar
name: feign.form
source: filename
automatic: true
valid: true

$ jarviz module descriptor --file feign-form-3.8.0.jar 
subject: feign-form-3.8.0.jar
name: feign.form
version: 3.8.0
open: false
automatic: true
requires:
  java.base mandated
contains:
  feign.form
  feign.form.multipart
  feign.form.util

I'd be great if the library supplied a full Java module descriptor. It's possible to keep bytecode baseline compatible with Java 8 while providing a full module descriptor thanks to ModiTect. This will help modular projects that consume feign-form, specifically those that create custom Java Runtimes with jlink, as the latter does not support automatic modules but explicit modules. If interested I can send a PR to make it happen.

FWIW feign 12.2 added full module descriptors to a set of its Maven modules -> https://github.com/OpenFeign/feign/issues/1357

aalmiray commented 3 months ago

Would love to have a new release with explicit Java module support, now that core Feign also provides explicit module descriptors.