You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@shiro.apache.org by "Jacob Barrett (Jira)" <ji...@apache.org> on 2022/02/28 18:00:00 UTC

[jira] [Commented] (SHIRO-679) Shiro modules have split packages

    [ https://issues.apache.org/jira/browse/SHIRO-679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17499091#comment-17499091 ] 

Jacob Barrett commented on SHIRO-679:
-------------------------------------

I would like to re-open this for merging into the 1.8.x branch.

As many more projects move towards modules this issue can hold them back from making progress. While this issue was addressed in the 2.x main branch, 2.0.0 doesn't seem to be on the near horizon. I am in the same camp as [~timothyjward] with regards to concerns that this could be a breaking change. While it is in a gray area of breaking ABI change, due to the movement of a symbol to another library, modern dependency management makes this issue pretty trivial. The only downstream that would be affected is one not using Maven like dependency management, all others would automatically get transitive runtime library requirement.

[Apache Geode|http://geode.apache.org], which depends on Shiro, is trying to get module compliant for upcoming release of Spring Framework 6 that is going the [full Java 17 treatment|https://spring.io/blog/2021/09/02/a-java-17-and-jakarta-ee-9-baseline-for-spring-framework-6]. We are also considering riding this same ABI compatibility gray area to get to module support, along with multi-release jars like log4j and other have taken. 

> Shiro modules have split packages
> ---------------------------------
>
>                 Key: SHIRO-679
>                 URL: https://issues.apache.org/jira/browse/SHIRO-679
>             Project: Shiro
>          Issue Type: Improvement
>    Affects Versions: 1.4.0
>            Reporter: Timothy James Ward
>            Assignee: Francois Papon
>            Priority: Major
>              Labels: modules
>             Fix For: 2.0.0
>
>
> The Shiro project is split into a number of "modules" which provide OSGi metadata, and will likely provide JPMS Module descriptors at some point in the future. Both of these module platforms play very badly with "split packages" specifically packages that are present with different content across more than one module.
> JPMS completely forbids packages from being present in more than one module. OSGi is somewhat more permissive than JPMS, in that split packages are only problematic if they are "exported" and have different content, however in Shiro's case there are no internal packages (all packages are exported).
>  
> Shiro contains several such packages, for example `org.apache.shiro` and `org.apache.shiro.util` are split with different content across the shiro-core and shiro-lang modules. This must be fixed, with each package (in its entirety) being hosted in a single module if Shiro is going to be usable in a modular Java world.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@shiro.apache.org
For additional commands, e-mail: issues-help@shiro.apache.org