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 > >