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