Details
-
Task
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
1.3
-
None
Description
Replace Maven by Gradle for building Apache SIS. Maven is a blocker issue for Jigsaw modularisation (JPMS). There is at least two problems that we have been unable to resolve with Maven when module-info.java files are present:
- The reuse of test classes defined in other modules (`test-jar` dependency type).
- JavaFX's Maven dependency, because it is different JAR files depending on the platform (Linux, Windows) and those JARs are hidden behind a proxy JAR. It makes difficult for JPMS to see the module-info of JavaFX.
For JavaFX, we will abandon the use of Maven dependency and requires that the user has a local installation, which avoid the proxy problem. This is preferable anyway for licensing reasons.
For the test-jar problem, we can resolve it by compiling all modules in a single call to javac after the source code have been organized in the way expected by Jigsaw. This is preferable anyway for making easier to generate aggregated Javadoc and for features such as project-wide annotation processing. We can not do that with Maven, but Gradle provides more flexibility. Currently it seems impossible to build a modularized Apache SIS project with Maven.
Attachments
Issue Links
- depends upon
-
SIS-581 Replace java.xml.bind dependencies by jakarta.xml.bind
- Closed