Open dwhitla opened 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.
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
Let me have a look.
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.
@dwhitla are you up to submit a PR for this? thanks!
@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.
@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?
@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.
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.