General +1 if dependencies allow it.

Not so sure about the crypto modules, though. Because of what Brian
said, dependencies on BC and other libraries, we have several support
modules.
The lang module can probably be reduced by quite a bit. We already
removed the Base64 implementation, most StringUtil methods can be
replaced by JDK methods, some are never even used.

If we merge them into core, be aware that we lose the ability to
compile shiro in parallel (mvnd or mvn -T1C and similar).
A larger core module will also mean that some may be tempted to write
less appropriate tests (by using specific implementations instead of
mocking interfaces which are not the objects under test).

- Ben

Am Mi., 28. Juli 2021 um 00:02 Uhr schrieb Brian Demers
<[email protected]>:
>
> General +1
>
>
> I don't think these modules are used without shiro-core. shiro-core depends
> on all of these modules, and that is what ends up getting used.
>
> The only downside i would see is the case of 3rd party implementations of
> things like cache or crypto.  These current modules are pretty small
> (mostly interfaces), and very few dependencies, this makes it really easy
> to consume and test.
> We can minimize the potential downside by keeping the dependency tree of
> shiro-core limited
>
>
> Ideally keeping the (java) package the same/similar would give us the
> opportunity to pull the logic back out into a separate module in the future
> if needed.
>
> The crypto implementation bits get a little tricky with BouncyCastle. Which
> ideally _shouldn't_ be required (or some users may need the FIPS version).
>
> A big +1 for moving to JDK8 based classes. Classes like Base64, as well as
> java.time (Duration, Instant, etc)
>
>
>
> I have someone conflicting view in my head for the "ideal" project
> structure, but I favor François suggestion as I think it will help keep
> things simple (less complex build, easier to document, etc)
> But I'd love to hear opposing views!
>
>
> On Tue, Jul 27, 2021 at 5:11 PM <[email protected]> wrote:
>
> > Hi,
> >
> > I would like to start a thread about the Shiro modules for the next 2.x
> > version.
> >
> > I think it would be nice to merge some module in the core module like :
> >
> > - shiro-lang
> >
> > - shiro-config
> >
> > - shiro-event
> >
> > - shiro-cache
> >
> > - shiro-crypto
> >
> > We can also make some code cleanup on some util/tool classes in favor of
> > JDK8 included classes.
> >
> > Thoughts?
> >
> > --
> > François
> > [email protected]
> >
> >

Reply via email to