Yes, few more info hoping it helps: 1. relocation does not prevent to implement new features, it just requires to do it using org.apache.cxf.whatever.jakarta in javax codebase and relocate it under jakarta package so no technical blocker for relocation (very worse case some rewriting at build time with a transformer would work too but I dont see the need for it) 2. Karaf mainly depends on the http/jaxrs whiteboards so it is more at OSGi level but I don't think it will be jakarta friendly right now but in a few - same as jakarta will die or be adopted I guess. Main issue is part of javax leaked in the http-whiteboard API (same applies with osgi-cdi spec) so just changing the impl under the hood is not trivial without a weaver which is back to keeping javax branch IMO. 3. Overall goal of the shade is to avoid to maintain 2 branches which is some work but also makes it harder to contribute IMHO. This stays until there is a real big bang in the spec and cost(new feature) > cost(to maintain 2 branches + use the relocation) [to have used it a few it is quite late ;)].
Jersey is a RI so must be jakarta driven, Tomcat is used to handle active branches (always ~3) - whereas CXF is not AFAIK, not sure for Jetty. The overall point here is that it is really linked to "how to maintain the forks/code base*s*". Shading reduces a lot the cost whereas fork makes it quick and fast to have something working with the new namespace but harder to maintain in the time in general. My 2cts Le sam. 26 déc. 2020 à 18:43, Andriy Redko <[email protected]> a écrit : > Hey guys, > > I have been following somewhat heated discussion on the PR. At this moment > I personally do not see a clear, the only way to support JakartaEE 9 where > all > impacted parties win. I think we should also align with the others projects > the large parts of CXF heavily depend on: Apache Karaf, Spring, WSS4J, > Tomcat, > Jetty, Swagger. > > It is clear that we want to support JakartaEE 9 and this is the way > forward. > Nevertheless `javax` has been declared "dead", it won't be as such for the > next > 3-5 years (blind guess from past experiences). So we have to live with > both > for the time being. > > What could be the strategies (mainly conclusions from > https://github.com/apache/cxf/pull/737 and > personal thoughts)? > 1) "Big bang": let say 4.x is moved completely to JakartaEE 9 ( > https://github.com/apache/cxf/pull/737), > 3.5.x would stay on `javax`. AFAIK this is the route Jersey 3/2, Tomcat > 10/9, Jetty 11/10 [1] [2] > have taken. > > 2) Keep Baseline on `javax` but use Maven Shade to relocate javax -> > jarkarta packages. This is > well understood technique, it still require some code changes but much > less than "big bang". It > should work in a short term but for a long run won't be sustainable > (the definition of "long" is > uncertain). > > With respect to Spring, Apache Karaf, Swagger and others: > - Spring: "No immediate plans to support jakarta namespace ... Spring > Framework 6 is likely to adopt the > jakarta namespace at a later point." [3] > - Apache Karaf: I was not able to find anything related to JakartaEE 9 > support, @Freeman Fang do you have > insights there? > - WSS4J: @Colm, any plans to share? > - Swagger: no plans yet [4] > > [1] https://webtide.com/renaming-from-javax-to-jakarta/ > [2] https://webtide.com/jetty-10-and-11-have-arrived/ > [3] https://github.com/spring-projects/spring-framework/issues/25354 > [4] https://github.com/swagger-api/swagger-core/issues/3836 > > I think understanding the large picture is going to help us take a right > approach. > Thanks. > > Best Regards, > Andriy Redko > > > Saturday, December 26, 2020, 6:52:31 AM, you wrote: > > RMB> Hi everyone, > > RMB> As a follow up of https://github.com/apache/cxf/pull/737 I'd like to > RMB> discuss the plain to support jakarta namespace. > RMB> To summarize the long exchanges of the thread, I think we should go > with > RMB> relocations (shade plugin) and that's it - more details in the thread. > RMB> Markus wants/asked the big bang which happened on EE to happen on CXF. > RMB> Long story short I think it would wrongly deserve end users. > > RMB> What do you think? Anything planned - there is no hurry indeed? > > RMB> Romain Manni-Bucau > RMB> @rmannibucau <https://twitter.com/rmannibucau> | Blog > RMB> <https://rmannibucau.metawerx.net/> | Old Blog > RMB> <http://rmannibucau.wordpress.com> | Github < > https://github.com/rmannibucau> | > RMB> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book > RMB> < > https://www.packtpub.com/application-development/java-ee-8-high-performance > > > >
