I spent some time looking into this today: SHIRO-632
<https://issues.apache.org/jira/browse/SHIRO-632>

Pull Request: https://github.com/apache/shiro/pull/75


In master (1.4+) we broke shiro-core up into a few modules.  This was
originally done as part of the 2.0 effort.

This caused some package overlap between modules.  Note: this is NOT an
issue for Maven (after dependency resolution all of the classes end up on
the classpath and will function like previous versions)

However, this *IS* an issue for the Felix maven-bundle-plugin

Long-term (2.0+) we can resolve this by moving classes to different
packages (we will likely need to do this for Java 9's modules anyway).

Short term, 1.4.0 went out with duplicate classes.  Mostly because I didn't
understand fully what the Felix maven-bundle-plugin was doing.

My proposed solution basically keeps the existing module tree structure
intact and includes them (think uberjar/fatjar) in shiro-core (just like
previous versions)
(it also adds an Enforcer rule which fails the build if duplicate classes
are detected)


Also long-term, we need to think about how we support the
maven-bundle-plugin. I don't think we have a commiter on the team with a
lot of OSGI knowledge, nor do we have any any OSGI container based ITs, so
we are in need of someone to help maintain this going forward or we should
drop support for it.

That said, maybe this becomes a non-issue soon once we rename packages and
add Java 9 module infos?


Thoughts?
-Brian

Reply via email to