smallrye / smallrye-config

SmallRye Config - A Java Configuration library
Apache License 2.0
164 stars 119 forks source link

No module-info.java #644

Open dwhitla opened 3 years ago

dwhitla commented 3 years ago

None of the smallrye artefacts contain JPMS metadata making use of any libraries which depend upon smallrye exceedingly painful for Java versions > 8. As JavaFX mandates Java 11 or later to use many important features this means JavaFX applications with direct or transitive dependencies on smallrye are almost impossible to deliver.

dmlloyd commented 3 years ago

Just adding a note here that JPMS modules are not necessary in Java 9+ generally speaking (i.e. the classpath still works fine), but JavaFX (OpenJFX) does use them.

melowe commented 3 years ago

adding automatic-module-name manifest entry means that libraries can be defined. adding this and not having split packages would mean that jars can be be used by folk who have aspirations beyond java 8

radcortez commented 3 years ago

Let me have a look.

dwhitla commented 3 years ago

Just adding a note here that JPMS modules are not necessary in Java 9+ generally speaking (i.e. the classpath still works fine), but JavaFX (OpenJFX) does use them.

This assertion is completely false. You can't use the classpath in many situations which mandate the use of the module path only. Advanced usages of JavaFX are a prime example. Same situation for using jpkg - mixing classpath and modulepath is possible but on my modest project doing this cost 3 weeks of extra work - thats $15000 of extra cost to the client. Missing JPMS metadata in any transitive dependency is also a showstopper for AOT compilation with GraalVM. Automatic module naming was a transition measure whos lifetime has expired - please do not use this - it was intended to buy library developers a few months back in 2015. It is now almost 2022. The current LTS Java release is 17. Can we all get with the program please.

radcortez commented 3 years ago

@dwhitla are you up to submit a PR for this? thanks!

arjantijms commented 2 years ago

@dwhitla Did you ever got around creating the module-info PR? Would love to use SmallRye Config in Piranha, but waiting for the 3.0 PR which seems stuck, and your PR. Thanks a lot in advance.

radcortez commented 2 years ago

@arjantijms an RC for SR Config 3.0 is coming soon (probably even this week), I was just working out some other projects first that are required before moving. Are you up to do the module-info stuff?

dwhitla commented 2 years ago

@radcortez I might have time in the new year but I am all tied up with trying to get two major product releases out by Xmas for my biggest client. I am certainly happy to help. But other contributors might be faster in getting to this.