On Thu, Jun 11, 2020 at 9:01 PM Mark Thomas <ma...@apache.org> wrote:

> Hi,
>
> As discussed in PR#298 [1], properly/fully/correctly supporting JPMS /
> OSGi gets trickier than necessary with the bootstrap JAR because of the
> way we currently package it with the minimum that it needs and duplicate
> some classes.
>
> My simplistic understanding is that having all of a Java package in a
> single JAR makes JPMS and OSGi a lot simpler. Further, our current
> approach may not be 100% compatible with one or both of them.
>
> The trade-offs involved here are:
> - having all of a package in a JAR simplifies JPMS and OSGi
> - We want to keep the bootstrap JAR small (is this much of a concern?)
> - We don't want duplicate code (maintenance overhead)
> - Bootstrap uses various utility functions from the Tomcat code base
>
> I'm wondering if there is a better approach we could adopt that makes
> JPMS / OSGi simpler without compromising too much on the other trade-offs.
>
> The sort of thing I have in mind is:
> - move everything out of o.a.c.startup that doesn't need to be there to
>   either some new package (name TBD) or an existing package
>

That means way too many risky changes IMO, the listeners in the startup
package are often extended to add features so they need to remain in the
catalina.startup package.


> - create an o.a.c.startup.util package and, during the build process,
>   copy and package rename any utility classes the remaining classes in
>   o.a.c.startup depend on
>

Good idea, when I read your requirements, I thought about package renaming.
So I think we could use package renaming for everything that bootstrap.jar
has to a tomcat.bootstrap or catalina.bootstrap package.

Rémy


>
> The end result should be a nice clean mapping of packages to JARs.
>
> Thoughts?
>
> Mark
>
>
>
> [1] https://github.com/apache/tomcat/pull/298
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>

Reply via email to