Hello
The current state of pax-web, master-improvements branch is that I've successfully got rid of pax-tipi tomcat libraries. Sure - Tomcat libraries are not OSGi bundles, but I did something to make maintenance easier. pax-web simply re-exports all Tomcat packages explicitly by embedding necessary Tomcat libraries.
Even more - there are:
- pax-web-tomcat-common - exports packages from tomcat-api, tomcat-util, tomcat-util-scan and selected packages from tomcat-embed-core
- pax-web-tomcat - exports the rest
Why two bundles? Because pax-web-jsp (Jasper) heavily depends on some Tomcat packages and we need pax-web-jsp also with Undertow and Jetty.
Also - Undertow 2.1 dropped OSGi support... See
https://issues.redhat.com/browse/UNDERTOW-1684, so if we want to have Undertow 2.1 at some point (and I think before pax-web 8 goes GA, we'll have to because of CVEs not being backported to 2.0) we'll have to re-export it anyway from pax-web-undertow.
I think not having TIPI will make it easier to maintain pax-web, because it'd be simply a matter of updating Pax Web to use newer upstream, original Tomcat version (and soon Undertow 2.1+).
During my PTO last week I worked a lot on resource support in Pax Web 8 (master-improvements) - this was very inconsistent and now I use original "default servlets" from each runtime, with some tweaks to make the consistent - welcome file handling unification was painful, but I did it! (trust me - dispatcher.include() with welcome files and default servlet mapped to something different than "/" was not an easy task ;).
During my work I've created these (so far) issues:
I hope to finish my refactoring before summer ends ;)
But fortunately, now master-improvements branch is in a state where I don't plan huge refactorings - I'm now mowing integration tests to new place (so I know what's working and what doesn't) and if you have time, I'll be happy to get some help here ;)
kind regards
Grzegorz Grzybek