Better integration of Java modules as dependencies in the future of Maven #38
Replies: 4 comments 16 replies
-
There is one functionality that we may need to add in Maven core: the capability to get the JPMS name of a JAR dependency. It involves opening the JAR file and reading its module descriptor. Because many plugins may need this information, handling that in Maven core would allow to cache the JPMS module name after the first request. |
Beta Was this translation helpful? Give feedback.
-
Here is a breakdown of what (I think) should be done here. Create a Maven Extension that adopts features from the similar Gradle plugin to Maven with the following features:
In the end, this will show how a small, typical Java Module System centered project like https://github.com/gradlex-org/java-module-dependencies would look in this setup and how other use cases we have in a real project like https://github.com/hashgraph/hedera-services are solved (and provide a list of things that cannot be easily solved, if any). |
Beta Was this translation helpful? Give feedback.
-
Can we split the work in two phases? First, allow JPMS support in projects having all the required |
Beta Was this translation helpful? Give feedback.
-
@jjohannes is the property file really necessary? It seems to me that this information can be obtained automatically by reading the module descriptors of each dependency. @rmannibucau : I propose the opposite of what you said: the ultimate source of true are the |
Beta Was this translation helpful? Give feedback.
-
This is based on the discussion in #11
We need to discuss how the Java module system can have a better integration in the Maven dependency definitions. Especially since maven dependecies and java modules have some common definitions but next to that some definitions that might nit work perfectlly well together.
Goal of this milestone should not be to have a final 100% solid integration in Maven but to have a definition for the future with a working prototype. Next to that parts of the prototype that does not make Maven 4 incompatible can be merged directly to Maven.
Beta Was this translation helpful? Give feedback.
All reactions