[
https://issues.apache.org/jira/browse/JENA-1524?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16448402#comment-16448402
]
ASF GitHub Bot commented on JENA-1524:
--------------------------------------
Github user christopher-johnson commented on the issue:
https://github.com/apache/jena/pull/401
the module system does not allow two distinct modules (e.g.
`org.apache.jena.arq` and `org.apache.jena.base`) to export the same package
(e.g. `org.apache.jena.atlas`).
There are two options in this situation,
1. consolidate the package into an existing module.
2. separate the package into a new module.
Option 2 is only viable when the package has no dependencies to another
module that depends on it (i.e. a cyclical relationship). I think that
`org.apache.jena.atlas` is not a candidate for separation from
`org.apache.jena.arq` as `org.apache.jena.riot` depends on it, and
`org.apache.jena.atlas` depends on `org.apache.jena.riot`, so they must be in
the same module (given the existing code).
I agree that there is a balance between organizational convenience and
radical (presumably hierarchical) package retrofitting to support strong
encapsulation. The concept of one-way dependency vectors governs modularity,
but this does not necessarily agree with component semantics when implemented
with package names.
> org.apache.jena.system is split by org.apache.jena.arq and
> org.apache.jena.core
> -------------------------------------------------------------------------------
>
> Key: JENA-1524
> URL: https://issues.apache.org/jira/browse/JENA-1524
> Project: Apache Jena
> Issue Type: Bug
> Components: Jena
> Affects Versions: Jena 3.7.0
> Reporter: Christopher Johnson
> Priority: Major
>
> a JPMS module cannot require both org.apache.jena.arq and
> org.apache.jena.core since org.apache.jena.system can be read from both.
> This cannot be resolved with --patch-module since arq and core provide
> different implementations. Suggestion is to make a distinction by renaming
> system to sys in either one.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)