[
https://issues.apache.org/jira/browse/SIS-582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17744132#comment-17744132
]
Martin Desruisseaux commented on SIS-582:
-----------------------------------------
A draft document explaining the proposed source code restructuration and Gradle
configuration is available below. The actual restructuration is experimented in
a branch.
* https://geomatys.github.io/draft/Modularization.html _(the document)_
* https://github.com/Geomatys/sis/tree/Jigsaw _(the branch)_
As of July 2023, it is still work in progress but we got the project to compile
and the tests to pass.
> Migrate build system from Maven to Gradle
> -----------------------------------------
>
> Key: SIS-582
> URL: https://issues.apache.org/jira/browse/SIS-582
> Project: Spatial Information Systems
> Issue Type: Task
> Components: Build process
> Affects Versions: 1.3
> Reporter: Martin Desruisseaux
> Assignee: Martin Desruisseaux
> Priority: Blocker
> Fix For: 1.4
>
>
> 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.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)