Hey guys, The Jakarta branch [1] just went into master, HUGE THANKS everyone for tremendous effort! Please note, it is still work in progress, the things to be done are tracked under [2], feel free to add more items or pick the existing ones. The master builds still have some tests failing, but those should be fixed shortly. With that, 3.6.x-fixes becomes the "mirror" of the master but for javax.* packages. Cherrypicking / backporting changes from master might be a bit more complicated (jakarta.* -> javax.*) but manageable.
One more thing, the pull requests against master and 3.6.x / 3.5.x are build using JDK-17 now (was JDK-11 before), this is due to the fact that master needs JDK-17, as it's Spring 6 / Spring Boot 3 JDK baseline. I have difficulties configuring Jenkins Maven builds + Github Pull Request builder per branch. It may be possible with pipeline, I will experiment with that. Please share any concerns, comments or feedback, it is highly appreciated. Thank you! [1] https://github.com/apache/cxf/pull/912 [2] https://issues.apache.org/jira/browse/CXF-8371 Best Regards, Andriy Redko COh> +1 from me. COh> Colm. COh> On Thu, May 26, 2022 at 2:40 AM Jim Ma <mail2ji...@gmail.com> wrote: >> >> Hi Andriy, >> A good plan. I agree with all these changes and support versions. >> >> Thanks, >> Jim >> >> On Mon, May 23, 2022 at 12:45 AM Andriy Redko <drr...@gmail.com> wrote: >> >> > Hey folks, >> > >> > While the work on 4.x / Jakarta is slowly but steadily moving forward, it >> > is >> > time to think about next 3.x release line. As we discussed in this thread, >> > it >> > seems we agreed on 3.6.x to be next javax.* based release, with JDK-11 as >> > the >> > baseline. We have new Spring Boot 2.7.0 just released [1], along with tons >> > of other >> > related projects. I would like to propose to: >> > - branch off 3.6.x-fixes (from master) and work on upgrades (+ some new >> > features) >> > - as per @Jim suggestion, merge (very soon) Jakarta branch [2] into master >> > >> > From the support perspective, it means we would need to maintain 3.4.x for >> > some >> > time, plus 3.5.x, 3.6.x and 4.0.0 (when released at some point). What do >> > you >> > think guys? Thank you! >> > >> > [1] https://spring.io/blog/2022/05/19/spring-boot-2-7-0-available-now >> > [2] https://github.com/apache/cxf/pull/912 >> > >> > Best Regards, >> > Andriy Redko >> > >> > >> > JM> Hi Andriy, >> > JM> I took some time to look at the CXF java11 support and spring >> > decoupling >> > JM> last week. >> > JM> Here are some thoughts and initial work: >> > JM> 1) Use cross compile to support java11 . We can simply change >> > JM> <cxf.jdk.version> in pom.xml to 11. >> > JM> This will allow the maven compiler plugin to build cxf with java11. >> > JM> 2) We can look at creating some separate modules for Spring relevant >> > JM> code/configuration in the future. Ideally a small >> > JM> number of modules would be better and it will make it easy for users >> > to >> > JM> import spring relevant dependencies. >> > JM> Here is my initial work : >> > https://github.com/jimma/cxf/commits/spring >> > JM> <https://github.com/jimma/cxf/commits/spring>. This only touches >> > several >> > JM> cxf modules, I am not >> > JM> sure if this approach will get other blockers and issues. >> > >> > JM> Thanks, >> > JM> Jim >> > >> > >> > >> > JM> On Sun, Jan 30, 2022 at 12:55 AM Andriy Redko <drr...@gmail.com> >> > wrote: >> > >> > >> Hey Jim, >> > >> > >> AFAIR this particular topic has popped up several times, a few issues >> > >> exist [1] and >> > >> @Christian even did the POC several years ago [2] in attempt to remove >> > >> some of the >> > >> hard Spring dependencies (I don't know the outcomes to be fair but I >> > >> suspect it turned >> > >> out to be much more difficult than anticipated). >> > >> > >> The suggestion I have in mind is to keep JDK-17 baseline **for now** and >> > >> continue working >> > >> on addressing the blockers (there too many at this point). Once we get >> > to >> > >> the state when >> > >> the Jakarta branch is at least buildable / deployable, we could reassess >> > >> the Spring >> > >> coupling. I am just afraid doing everything at once would introduce >> > >> instability in >> > >> codebase and slow down everyone on either of these efforts. Not sure if >> > >> you agree but >> > >> in any case I am definitely +1 for reducing the scope of dependencies on >> > >> Spring, even >> > >> in 3.4.x / 3.5.x release lines. >> > >> > >> Thank you. >> > >> > >> [1] https://issues.apache.org/jira/browse/CXF-5477 >> > >> [2] https://github.com/apache/cxf/tree/poc-remove-spring-bp >> > >> > >> Best Regards, >> > >> Andriy Redko >> > >> > >> JM> I accidentally clicked the send button, please ignore my previous >> > >> email >> > >> JM> and look at this reply. >> > >> > >> JM> On Sat, Jan 29, 2022 at 7:58 PM Jim Ma <mail2ji...@gmail.com> >> > wrote: >> > >> > >> > >> > >> > >> >> On Mon, Dec 27, 2021 at 10:49 PM Andriy Redko <drr...@gmail.com> >> > wrote: >> > >> > >> >>> Hey guys, >> > >> > >> >>> A bunch of good things have happened at the end of this year. The >> > 3.5.0 >> > >> >>> out and we are in a good >> > >> >>> shape to kick off Jakarta support: the Spring 6 milestones and >> > Spring >> > >> >>> Boot 3 snapshots are already >> > >> >>> available. There are tons of things to fix and address, I have >> > created >> > >> >>> this draft pull request [1] >> > >> >>> with a first batch of changes and TODOs. Everyone should be able to >> > >> push >> > >> >>> changes in there, if not >> > >> >>> - please let me know, I could give perms / move the branch to CXF >> > >> Github >> > >> >>> repo. Hope in the next >> > >> >>> couple of months we get closer to fully embrace Jakarta. >> > >> > >> >>> On the not so good news side, Spring 6 has kept JDK-17 baseline. It >> > >> does >> > >> >>> not play well with our >> > >> >>> original plan to stick to JDK-11 baseline for 4.x but I am not sure >> > we >> > >> >>> have any choice here besides >> > >> >>> bumping the baseline as well. >> > >> > >> > >> > >> JM> From the JakartaEE9 release[1]and JakartaEE10 plan[2], it still >> > >> needs to >> > >> JM> support JDK11. Jakarta Restful WebService 3.0/3.1 and Jakarta XML >> > Web >> > >> JM> Services 3.0/3.1 >> > >> JM> apis are the specifications we need to implement in CXF, so we >> > need >> > >> to >> > >> JM> build, run and test implementation with JDK11. >> > >> > >> JM> Just thinking this loud, is it possible that we make Spring >> > plugable >> > >> or >> > >> JM> really optional ? 4.x is the major release and it's the chance >> > >> JM> to refactor CXF code(like we move spring related source/test to >> > >> separate >> > >> JM> module) to build/run/test without Spring with a maven profile. >> > >> > >> JM> [1] >> > >> JM> >> > >> >> > https://eclipse-ee4j.github.io/jakartaee-platform/jakartaee9/JakartaEE9.1ReleasePlan >> > >> JM> [2] >> > >> JM> >> > >> >> > https://eclipse-ee4j.github.io/jakartaee-platform/jakartaee10/JakartaEE10ReleasePlan >> > >> > >> > >> > >> > >> > >> >>> Happy Holidays guys! >> > >> > >> >>> [1] https://github.com/apache/cxf/pull/888 >> > >> > >> >>> JM> On Tue, Sep 7, 2021 at 4:56 AM Andriy Redko <drr...@gmail.com> >> > >> wrote: >> > >> > >> >>> >> Hey Jim, >> > >> > >> >>> >> No, we don't have a branch just yet, primarily because we depend >> > on >> > >> the >> > >> >>> >> few >> > >> >>> >> snapshots in 3.5.0/master. >> > >> > >> >>> >> @Colm do you have an idea regarding xmlschema 2.3.0 release >> > >> timelines? >> > >> >>> >> @Dan do you have an idea regarding neethi 3.2.0 release >> > timelines? >> > >> > >> >>> >> At worst, you could create a new branch for this feature, or >> > submit >> > >> a >> > >> >>> >> pull request against master which we should be able to re-target >> > >> later >> > >> >>> >> against the right branch (should be easy). What do you think? >> > >> > >> > >> >>> JM> This is a good idea. I'll send a PR against the master, and >> > later >> > >> we >> > >> >>> can >> > >> >>> JM> decide the place to merge. >> > >> >>> JM> Thanks, Andriy. >> > >> > >> > >> > >> > >> >>> >> Best Regards, >> > >> >>> >> Andriy Redko >> > >> > >> >>> >> JM> Thanks for more updates , Andriy. >> > >> >>> >> JM> Is there a place/workspace branch, I can send a PR for this >> > >> >>> change? >> > >> > >> >>> >> JM> On Fri, Sep 3, 2021 at 9:20 PM Andriy Redko < >> > drr...@gmail.com> >> > >> >>> wrote: >> > >> > >> >>> >> >> Hey Jim, >> > >> > >> >>> >> >> Thanks a lot for taking the lead on this one. Just want to >> > chime >> > >> in >> > >> >>> on a >> > >> >>> >> >> few points. Indeed, as >> > >> >>> >> >> per previous discussion in this thread, it seems like it make >> > >> sense >> > >> >>> to >> > >> >>> >> >> provide only the subset >> > >> >>> >> >> of shaded modules with Jakarta namespace. Also, it was >> > confirmed >> > >> >>> >> yesterday >> > >> >>> >> >> that Spring Framework >> > >> >>> >> >> 6 milestones will be available in November this year but the >> > >> first >> > >> >>> >> >> snapshots will be out in late >> > >> >>> >> >> September / early October, looks pretty promising. One >> > >> >>> **unexpected** >> > >> >>> >> part >> > >> >>> >> >> of the announcement >> > >> >>> >> >> is JDK17 baseline for Spring Framework & Co, that could be a >> > >> bummer >> > >> >>> but >> > >> >>> >> I >> > >> >>> >> >> have the feeling that >> > >> >>> >> >> it will be lowered to JDK11. Thank you. >> > >> > >> >>> >> >> Best Regards, >> > >> >>> >> >> Andriy Redko >> > >> > >> > >> >>> >> >> JM> Good point, Romain. We need to look at what to do to make >> > >> sure >> > >> >>> all >> > >> >>> >> >> JM> artifacts are included and transformed if this becomes a >> > cxf >> > >> >>> module. >> > >> > >> >>> >> >> JM> BTW, Spring 6 GA supports jakarta ee9 will come in Q4 >> > 2022 : >> > >> >>> >> >> JM> >> > >> >>> >> >> >> > >> >>> >> >> > >> >>> >> > >> >> > https://spring.io/blog/2021/09/02/a-java-17-and-jakarta-ee-9-baseline-for-spring-framework-6 >> > >> > >> >>> >> >> JM> On Fri, Sep 3, 2021 at 6:20 PM Romain Manni-Bucau < >> > >> >>> >> >> rmannibu...@gmail.com> >> > >> >>> >> >> JM> wrote: >> > >> > >> > >> > >> > >> >>> >> >> >> Le ven. 3 sept. 2021 à 11:30, Jim Ma <mail2ji...@gmail.com> >> > a >> > >> >>> écrit >> > >> >>> >> : >> > >> > >> > >> > >> >>> >> >> >>> On Wed, Aug 25, 2021 at 9:39 PM Romain Manni-Bucau < >> > >> >>> >> >> rmannibu...@gmail.com> >> > >> >>> >> >> >>> wrote: >> > >> > >> > >> > >> >>> >> >> >>>> Le mer. 25 août 2021 à 13:39, Jim Ma < >> > mail2ji...@gmail.com> >> > >> a >> > >> >>> >> écrit : >> > >> > >> > >> > >> >>> >> >> >>>>> On Fri, Aug 20, 2021 at 2:10 PM Romain Manni-Bucau < >> > >> >>> >> >> >>>>> rmannibu...@gmail.com> wrote: >> > >> > >> > >> > >> >>> >> >> >>>>>> Le jeu. 19 août 2021 à 22:45, Andriy Redko < >> > >> drr...@gmail.com> >> > >> >>> a >> > >> >>> >> >> >>>>>> écrit : >> > >> > >> >>> >> >> >>>>>>> Hi Romain, >> > >> > >> >>> >> >> >>>>>>> Sorry for the delayed response. I have been thinking >> > >> about >> > >> >>> your >> > >> >>> >> >> (and >> > >> >>> >> >> >>>>>>> Jim) suggestions >> > >> >>> >> >> >>>>>>> and came to surprising conclusion: do we actually >> > need to >> > >> >>> >> >> officially >> > >> >>> >> >> >>>>>>> release anything >> > >> >>> >> >> >>>>>>> to shade/overwrite javax <-> jakarta? Generally, we >> > could >> > >> >>> shade >> > >> >>> >> >> >>>>>>> Spring or/and any other >> > >> >>> >> >> >>>>>>> dependency but we would certainly not bundle it as >> > part >> > >> of >> > >> >>> CXF >> > >> >>> >> >> >>>>>>> distribution (I hope you >> > >> >>> >> >> >>>>>>> would agree), so not really useful unless we publish >> > >> them. >> > >> >>> As >> > >> >>> >> such, >> > >> >>> >> >> >>>>>>> probably the best >> > >> >>> >> >> >>>>>>> interim solution is to document what it takes to shade >> > >> CXF >> > >> >>> >> (javax >> > >> >>> >> >> <-> >> > >> >>> >> >> >>>>>>> jakarta) and let >> > >> >>> >> >> >>>>>>> the end users (application/service developers) use >> > that >> > >> when >> > >> >>> >> >> needed? >> > >> >>> >> >> >>>>>>> In this case >> > >> >>> >> >> >>>>>>> basically CXF, Spring, Geronimo, Swagger, ... would >> > >> follow >> > >> >>> the >> > >> >>> >> same >> > >> >>> >> >> >>>>>>> shading rules. At >> > >> >>> >> >> >>>>>>> least, we could start with that (documenting the >> > shading >> > >> >>> >> process) >> > >> >>> >> >> and >> > >> >>> >> >> >>>>>>> likely get some >> > >> >>> >> >> >>>>>>> early feedback while working on full-fledged support? >> > >> WDYT? >> > >> > >> > >> > >> >>> >> >> >>>>>> This is what is done and makes it hard for nothing to >> > >> >>> >> maintain/fix - >> > >> >>> >> >> >>>>>> dont even look at tomee solution for shading please ;) >> > - >> > >> >>> IMHO. >> > >> >>> >> >> >>>>>> Being said it costs nothing to cxf to produce jakarta >> > >> jars, >> > >> >>> that >> > >> >>> >> it >> > >> >>> >> >> >>>>>> makes it ee 9 compliant and more consistent for all but >> > >> >>> spring >> > >> >>> >> >> usage (ee >> > >> >>> >> >> >>>>>> integrators, plain tomcat 10 users etc...), I think it >> > is >> > >> >>> worth >> > >> >>> >> >> doing it, >> > >> >>> >> >> >>>>>> at minimum. >> > >> >>> >> >> >>>>>> At least a jakarta jaxrs (over jakarta servlet) bundle >> > >> would >> > >> >>> be a >> > >> >>> >> >> good >> > >> >>> >> >> >>>>>> progress, not sure jaxws and other parts would be >> > helpful >> > >> >>> since >> > >> >>> >> >> they tend >> > >> >>> >> >> >>>>>> to be in maintainance mode from what I saw. >> > >> >>> >> >> >>>>>> So IMHO the best is a shade/relocation in the parent to >> > >> >>> deliver a >> > >> >>> >> >> >>>>>> jakarta artifact for all module + a few jakarta bom. >> > But >> > >> if >> > >> >>> too >> > >> >>> >> >> much - >> > >> >>> >> >> >>>>>> which I can see/hear - a jakarta jaxrs bundle would >> > work >> > >> too >> > >> >>> >> short >> > >> >>> >> >> term. >> > >> > >> > >> >>> >> >> >>>>> I agree to start with something to preview and collect >> > more >> > >> >>> ideas >> > >> >>> >> to >> > >> >>> >> >> >>>>> support ee9. It's good to have a branch to really start >> > >> >>> something >> > >> >>> >> >> for this >> > >> >>> >> >> >>>>> topic. >> > >> >>> >> >> >>>>> @Romain, do you have a prototype with shading or other >> > >> tools >> > >> >>> for a >> > >> >>> >> >> >>>>> jakarta jaxrs bundle or just some basic idea that we can >> > >> have >> > >> >>> a >> > >> >>> >> look >> > >> >>> >> >> at ? >> > >> > >> > >> > >> >>> >> >> >>>> Not ready for cxf but looking at meecrowave-core pom you >> > >> would >> > >> >>> have >> > >> >>> >> >> some >> > >> >>> >> >> >>>> idea. >> > >> >>> >> >> >>>> I just suspect pom deps need some refinement like >> > >> with/without >> > >> >>> the >> > >> >>> >> >> >>>> client (it is useless with java 11 now and less and less >> > >> >>> desired >> > >> >>> >> >> AFAIK). >> > >> > >> > >> >>> >> >> >>> @Romain Manni-Bucau <rmannibu...@gmail.com> Thanks for >> > the >> > >> >>> >> update. I >> > >> >>> >> >> >>> looked at the meecrowave-core pom and understood how it >> > >> >>> transforms >> > >> >>> >> >> package >> > >> >>> >> >> >>> names with the shade plugin. Both shade plugin or eclipse >> > >> >>> >> transformer >> > >> >>> >> >> tool >> > >> >>> >> >> >>> works for this purpose . >> > >> > >> >>> >> >> >>> I created one prototype project which pulls in cxf >> > >> dependencies, >> > >> >>> >> >> >>> transforms to jakarta namespace and installs to local >> > maven >> > >> >>> >> >> repository : >> > >> >>> >> >> >>> https://github.com/jimma/cxf-ee9-transformer >> > >> >>> >> >> >>> This doesn't need more effort and no need the >> > code/dependency >> > >> >>> change >> > >> >>> >> >> >>> which breaks/mixes with javax support codebase. It can be >> > >> simply >> > >> >>> >> added >> > >> >>> >> >> with >> > >> >>> >> >> >>> another maven module in cxf repo to produce transformed >> > >> jakata >> > >> >>> cxf >> > >> >>> >> >> >>> artifacts or binary distribution. Your thoughts ? >> > >> > >> > >> >>> >> >> >> If not all artifacts are proposed with jakarta support it >> > is >> > >> an >> > >> >>> >> option >> > >> >>> >> >> >> otherwise it would need a build module to synchronize this >> > >> >>> >> submodule(s) >> > >> >>> >> >> to >> > >> >>> >> >> >> ensure none are forgotten - this is where I prefer the >> > >> classifier >> > >> >>> >> >> approach >> > >> >>> >> >> >> even if it has this exclusion pitfalls - but cxf has it >> > anyway >> > >> >>> due to >> > >> >>> >> >> its >> > >> >>> >> >> >> transitive dependencies so not worse IMHO ;). >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> >>> >> >> >>>>> Thanks, >> > >> >>> >> >> >>>>> Jim >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> >>> >> >> >>>>>>> Thank you. >> > >> > >> >>> >> >> >>>>>>> Best Regards, >> > >> >>> >> >> >>>>>>> Andriy Redko >> > >> > >> > >> >>> >> >> >>>>>>> RMB> I'm not sure I see why you need spring to start >> > this >> > >> >>> work. >> > >> >>> >> The >> > >> >>> >> >> >>>>>>> expected is >> > >> >>> >> >> >>>>>>> RMB> there already so spring module can still rely on >> > >> >>> javax, be >> > >> >>> >> >> made >> > >> >>> >> >> >>>>>>> jakarta >> > >> >>> >> >> >>>>>>> RMB> friendly using shade plugin or alike and that's >> > it >> > >> >>> until a >> > >> >>> >> >> >>>>>>> spring native >> > >> >>> >> >> >>>>>>> RMB> integration is there. >> > >> >>> >> >> >>>>>>> RMB> Worse case cxf-spring will not be usable with >> > >> jakarta - >> > >> >>> >> which >> > >> >>> >> >> >>>>>>> still enabled >> > >> >>> >> >> >>>>>>> RMB> all other usages, best case if spring makes the >> > >> >>> transition >> > >> >>> >> >> >>>>>>> smooth is that >> > >> >>> >> >> >>>>>>> RMB> it will work smoothly without more investment >> > than >> > >> for >> > >> >>> the >> > >> >>> >> >> rest >> > >> >>> >> >> >>>>>>> of the >> > >> >>> >> >> >>>>>>> RMB> build. >> > >> >>> >> >> >>>>>>> RMB> The pro of that options is that it will reduce >> > the >> > >> >>> number >> > >> >>> >> of >> > >> >>> >> >> >>>>>>> unofficial cxf >> > >> >>> >> >> >>>>>>> RMB> relocations sooner IMHO. >> > >> > >> >>> >> >> >>>>>>> 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 >> > >> >>> >> >> >>>>>>> > >> > >> > >> > >> >>> >> >> >>>>>>> RMB> Le lun. 16 août 2021 à 23:40, Andriy Redko < >> > >> >>> >> drr...@gmail.com> >> > >> >>> >> >> a >> > >> >>> >> >> >>>>>>> écrit : >> > >> > >> >>> >> >> >>>>>>> >> Hi Jim, >> > >> > >> >>> >> >> >>>>>>> >> I will try to answer your questions, other guys >> > will >> > >> >>> >> definitely >> > >> >>> >> >> >>>>>>> share more >> > >> >>> >> >> >>>>>>> >> thoughts, please see mine inlined. >> > >> > >> >>> >> >> >>>>>>> >> >> What's the task for JDK-17 LTS preparation ? >> > Do we >> > >> >>> need >> > >> >>> >> to >> > >> >>> >> >> >>>>>>> support >> > >> >>> >> >> >>>>>>> >> build 3.5.0 with JDK-17 ? >> > >> > >> >>> >> >> >>>>>>> >> Build + All tests are green. >> > >> >>> >> >> >>>>>>> >> Apache Karaf 4.3.3 will support JDK17 so our OSGi >> > test >> > >> >>> suites >> > >> >>> >> >> will >> > >> >>> >> >> >>>>>>> pass. >> > >> >>> >> >> >>>>>>> >> Besides that, there is still some work to do [1] >> > but >> > >> at >> > >> >>> >> least we >> > >> >>> >> >> >>>>>>> have >> > >> >>> >> >> >>>>>>> >> workarounds. >> > >> > >> >>> >> >> >>>>>>> >> >> For Jakarta ee9 support branch 4.x with source >> > code >> > >> >>> >> change to >> > >> >>> >> >> >>>>>>> support >> > >> >>> >> >> >>>>>>> >> jakarta namespace , we have to wait for spring and >> > >> other >> > >> >>> >> >> >>>>>>> >> >> third party dependencies jakarta ee9 ready. >> > Now we >> > >> >>> don't >> > >> >>> >> >> know >> > >> >>> >> >> >>>>>>> when >> > >> >>> >> >> >>>>>>> >> these dependencies are all ready and we can start >> > this >> > >> >>> work. >> > >> > >> >>> >> >> >>>>>>> >> This is correct, the earliest we could expect >> > >> something >> > >> >>> is >> > >> >>> >> >> Q4/2021 >> > >> >>> >> >> >>>>>>> (fe >> > >> >>> >> >> >>>>>>> >> Spring). >> > >> > >> >>> >> >> >>>>>>> >> >> Given there is no features added in Jakarta ee >> > 9.1 >> > >> >>> besides >> > >> >>> >> >> the >> > >> >>> >> >> >>>>>>> >> namespace change, we can provide the jakarta >> > calssfier >> > >> >>> maven >> > >> >>> >> >> >>>>>>> artifacts >> > >> >>> >> >> >>>>>>> >> >> and binary release in 3.6.x or 4.x with >> > >> >>> transformation or >> > >> >>> >> >> other >> > >> >>> >> >> >>>>>>> better >> > >> >>> >> >> >>>>>>> >> approach will be enough.We provide jakarta ee9 >> > support >> > >> >>> early, >> > >> >>> >> >> >>>>>>> >> >> then we can get more feedback on this topic. >> > >> > >> >>> >> >> >>>>>>> >> It is definitely the option we have among others to >> > >> >>> discuss. >> > >> >>> >> I >> > >> >>> >> >> >>>>>>> have no >> > >> >>> >> >> >>>>>>> >> doubts that everyone has rough idea of the pros and >> > >> cons >> > >> >>> >> >> >>>>>>> >> each option has, as the team we are trying to pick >> > the >> > >> >>> best >> > >> >>> >> path >> > >> >>> >> >> >>>>>>> forward. >> > >> >>> >> >> >>>>>>> >> Jakarta EE 10 is coming in Q1/2022 [2], we should >> > >> keep it >> > >> >>> >> >> >>>>>>> >> in mind as well. >> > >> > >> >>> >> >> >>>>>>> >> Thank you! >> > >> > >> >>> >> >> >>>>>>> >> [1] https://issues.apache.org/jira/browse/CXF-8407 >> > >> >>> >> >> >>>>>>> >> [2] >> > >> >>> >> >> >>>>>>> >> >> > >> >>> >> >> >>>>>>> >> > >> >>> >> >> >> > >> >>> >> >> > >> >>> >> > >> >> > https://eclipse-ee4j.github.io/jakartaee-platform/jakartaee10/JakartaEE10#jakarta-ee-10-release-plan >> > >> > >> > >> >>> >> >> >>>>>>> >> Best Regards, >> > >> >>> >> >> >>>>>>> >> Andriy Redko >> > >> > >> >>> >> >> >>>>>>> >> JM> On Wed, Aug 11, 2021 at 8:26 PM Andriy Redko < >> > >> >>> >> >> drr...@gmail.com> >> > >> >>> >> >> >>>>>>> wrote: >> > >> > >> >>> >> >> >>>>>>> >> >> Hey Jim, Romain, >> > >> > >> >>> >> >> >>>>>>> >> >> Thank you guys, I think Romain's suggestion to >> > move >> > >> >>> 3.5.x >> > >> >>> >> to >> > >> >>> >> >> >>>>>>> JDK-11 >> > >> >>> >> >> >>>>>>> >> >> baseline is good idea, we would >> > >> >>> >> >> >>>>>>> >> >> still be maintaining 3.4.x for a while, covering >> > >> JDK-8 >> > >> >>> >> based >> > >> >>> >> >> >>>>>>> >> deployments. >> > >> >>> >> >> >>>>>>> >> >> Regarding Jakarta, yes, I >> > >> >>> >> >> >>>>>>> >> >> certainly remember the discussion regarding the >> > >> build >> > >> >>> time >> > >> >>> >> >> >>>>>>> approach, >> > >> >>> >> >> >>>>>>> >> >> personally with time I came to the >> > >> >>> >> >> >>>>>>> >> >> conclusion that this is not the best option for >> > at >> > >> >>> least 2 >> > >> >>> >> >> >>>>>>> reasons: >> > >> >>> >> >> >>>>>>> >> >> - differences between source vs binary >> > artifacts >> > >> are >> > >> >>> very >> > >> >>> >> >> >>>>>>> confusing >> > >> >>> >> >> >>>>>>> >> >> (source imports javax, >> > >> >>> >> >> >>>>>>> >> >> binary has jakarta, or vice versa), I think >> > we >> > >> all >> > >> >>> run >> > >> >>> >> >> into >> > >> >>> >> >> >>>>>>> that from >> > >> >>> >> >> >>>>>>> >> >> time to time >> > >> >>> >> >> >>>>>>> >> >> - Jakarta is the way to go, the mainstream >> > should >> > >> >>> have >> > >> >>> >> first >> > >> >>> >> >> >>>>>>> class >> > >> >>> >> >> >>>>>>> >> support >> > >> > >> >>> >> >> >>>>>>> >> >> Just my 5 cents, but we certainly should >> > consider >> > >> this >> > >> >>> >> >> approach >> > >> >>> >> >> >>>>>>> as well, >> > >> >>> >> >> >>>>>>> >> >> there are good points to >> > >> >>> >> >> >>>>>>> >> >> follow it, summarizing what we have at the >> > moment: >> > >> > >> >>> >> >> >>>>>>> >> >> Option #1: >> > >> >>> >> >> >>>>>>> >> >> - release 3.5.0 in preparation to JDK-17 LTS, >> > >> keeping >> > >> >>> >> JDK-8 >> > >> >>> >> >> as >> > >> >>> >> >> >>>>>>> baseline >> > >> >>> >> >> >>>>>>> >> >> - move master to 3.6.x (4.x?) with JDK-11 as >> > the >> > >> >>> minimal >> > >> >>> >> >> >>>>>>> required JDK >> > >> >>> >> >> >>>>>>> >> >> version (Jetty 10, ...) >> > >> >>> >> >> >>>>>>> >> >> - branch off 5.x (4.x?) to continue the work on >> > >> >>> >> supporting >> > >> >>> >> >> >>>>>>> Jakarta >> > >> >>> >> >> >>>>>>> >> 9.0+, >> > >> >>> >> >> >>>>>>> >> >> with JDK-11 as the minimal >> > >> >>> >> >> >>>>>>> >> >> required JDK version (Jetty 11, ...) >> > >> > >> > >> >>> >> >> >>>>>>> >> JM> What's the task for JDK-17 LTS preparation ? >> > Do >> > >> we >> > >> >>> need >> > >> >>> >> to >> > >> >>> >> >> >>>>>>> support >> > >> >>> >> >> >>>>>>> >> build >> > >> >>> >> >> >>>>>>> >> JM> 3.5.0 with JDK-17 ? >> > >> > >> >>> >> >> >>>>>>> >> JM> For Jakarta ee9 support branch 4.x with source >> > >> code >> > >> >>> >> change >> > >> >>> >> >> to >> > >> >>> >> >> >>>>>>> support >> > >> >>> >> >> >>>>>>> >> JM> jakarta namespace , we have to wait for spring >> > and >> > >> >>> other >> > >> >>> >> >> >>>>>>> >> JM> third party dependencies jakarta ee9 ready. >> > Now >> > >> we >> > >> >>> don't >> > >> >>> >> >> know >> > >> >>> >> >> >>>>>>> when >> > >> >>> >> >> >>>>>>> >> these >> > >> >>> >> >> >>>>>>> >> JM> dependencies are all ready and we can start >> > this >> > >> >>> work. >> > >> > >> >>> >> >> >>>>>>> >> JM> Given there is no features added in Jakarta ee >> > 9.1 >> > >> >>> >> besides >> > >> >>> >> >> the >> > >> >>> >> >> >>>>>>> >> namespace >> > >> >>> >> >> >>>>>>> >> JM> change, we can provide the jakarta calssfier >> > maven >> > >> >>> >> artifacts >> > >> >>> >> >> >>>>>>> and binary >> > >> >>> >> >> >>>>>>> >> JM> release in 3.6.x or 4.x with transformation or >> > >> other >> > >> >>> >> better >> > >> >>> >> >> >>>>>>> approach >> > >> >>> >> >> >>>>>>> >> will >> > >> >>> >> >> >>>>>>> >> JM> be enough.We provide jakarta ee9 support early, >> > >> then >> > >> >>> we >> > >> >>> >> can >> > >> >>> >> >> >>>>>>> get more >> > >> >>> >> >> >>>>>>> >> JM> feedback on this topic. >> > >> > >> > >> > >> > >> >>> >> >> >>>>>>> >> >> Option #2: >> > >> >>> >> >> >>>>>>> >> >> - release 3.5.0 in preparation to JDK-17 LTS, >> > use >> > >> >>> JDK-11 >> > >> >>> >> as >> > >> >>> >> >> >>>>>>> baseline >> > >> >>> >> >> >>>>>>> >> >> - handle javax by a build setup (with api >> > >> validation >> > >> >>> at >> > >> >>> >> >> build >> > >> >>> >> >> >>>>>>> time to >> > >> >>> >> >> >>>>>>> >> >> avoid regressions) and use jakarta package as >> > main >> > >> >>> api in >> > >> >>> >> the >> > >> >>> >> >> >>>>>>> project >> > >> >>> >> >> >>>>>>> >> >> (Romain), or >> > >> >>> >> >> >>>>>>> >> >> adding a new maven module to transform cxf >> > >> >>> artifacts >> > >> >>> >> with >> > >> >>> >> >> >>>>>>> jakarta >> > >> >>> >> >> >>>>>>> >> >> package name (Jim) >> > >> > >> >>> >> >> >>>>>>> >> >> Option #3: >> > >> >>> >> >> >>>>>>> >> >> - release 3.5.0 in preparation to JDK-17 LTS, >> > use >> > >> >>> JDK-11 >> > >> >>> >> as >> > >> >>> >> >> >>>>>>> baseline >> > >> >>> >> >> >>>>>>> >> >> - move master to 4.x to continue the work on >> > >> >>> supporting >> > >> >>> >> >> >>>>>>> Jakarta 9.0+, >> > >> >>> >> >> >>>>>>> >> >> with JDK-11 as the minimal >> > >> >>> >> >> >>>>>>> >> >> required JDK version (Jetty 11, ...) >> > >> > >> >>> >> >> >>>>>>> >> >> Thank you! >> > >> > >> >>> >> >> >>>>>>> >> >> Best Regards, >> > >> >>> >> >> >>>>>>> >> >> Andriy Redko >> > >> > >> > >> >>> >> >> >>>>>>> >> >> JM> On Wed, Aug 11, 2021 at 10:05 AM Andriy >> > Redko < >> > >> >>> >> >> >>>>>>> drr...@gmail.com> >> > >> >>> >> >> >>>>>>> >> >> wrote: >> > >> > >> >>> >> >> >>>>>>> >> >> >> Hey guys, >> > >> > >> >>> >> >> >>>>>>> >> >> >> I would like to initiate (or better to say, >> > >> >>> resume) the >> > >> >>> >> >> >>>>>>> discussion >> > >> >>> >> >> >>>>>>> >> >> >> regarding CXF 3.5.x and beyond. >> > >> >>> >> >> >>>>>>> >> >> >> The 3.5.x has been in the making for quite a >> > >> >>> while but >> > >> >>> >> >> has >> > >> >>> >> >> >>>>>>> not seen >> > >> >>> >> >> >>>>>>> >> any >> > >> >>> >> >> >>>>>>> >> >> >> releases yet. As far as >> > >> >>> >> >> >>>>>>> >> >> >> I know, we have only pending upgrade to >> > Apache >> > >> >>> Karaf >> > >> >>> >> 4.3.3 >> > >> >>> >> >> >>>>>>> (on >> > >> >>> >> >> >>>>>>> >> SNAPSHOT >> > >> >>> >> >> >>>>>>> >> >> >> now) so be ready to meet >> > >> >>> >> >> >>>>>>> >> >> >> JDK 17 LTS next month. I think this is a good >> > >> >>> >> opportunity >> > >> >>> >> >> to >> > >> >>> >> >> >>>>>>> release >> > >> >>> >> >> >>>>>>> >> >> 3.5.0 >> > >> >>> >> >> >>>>>>> >> >> >> but certainly looking >> > >> >>> >> >> >>>>>>> >> >> >> for ideas and opinions here. Importantly, I >> > >> think >> > >> >>> for >> > >> >>> >> >> 3.5.x >> > >> >>> >> >> >>>>>>> the JDK-8 >> > >> >>> >> >> >>>>>>> >> >> >> should be supported as the minimal >> > >> >>> >> >> >>>>>>> >> >> >> required JDK version (just an opinion since >> > >> JDK-8 >> > >> >>> is >> > >> >>> >> still >> > >> >>> >> >> >>>>>>> very >> > >> >>> >> >> >>>>>>> >> widely >> > >> >>> >> >> >>>>>>> >> >> >> used). >> > >> > >> >>> >> >> >>>>>>> >> >> >> On the other side, many libraries (Jetty, >> > wss4j, >> > >> >>> ...) >> > >> >>> >> are >> > >> >>> >> >> >>>>>>> bumping the >> > >> >>> >> >> >>>>>>> >> >> >> baseline to JDK-11. The work >> > >> >>> >> >> >>>>>>> >> >> >> @Colm is doing to update to OpenSaml 4.x [1] >> > is >> > >> a >> > >> >>> good >> > >> >>> >> >> >>>>>>> argument to >> > >> >>> >> >> >>>>>>> >> have >> > >> >>> >> >> >>>>>>> >> >> >> the JDK-11+ release line. Should >> > >> >>> >> >> >>>>>>> >> >> >> we have a dedicated 3.6.x or 4.x.x branch(es) >> > >> for >> > >> >>> that? >> > >> > >> >>> >> >> >>>>>>> >> >> >> Last but not least, Jakarta 9.0+ support. >> > Last >> > >> >>> year we >> > >> >>> >> >> >>>>>>> briefly talked >> > >> >>> >> >> >>>>>>> >> >> >> about it [2], at this moment it >> > >> >>> >> >> >>>>>>> >> >> >> looks like having dedicated release line >> > >> (4.x/5.x) >> > >> >>> with >> > >> >>> >> >> >>>>>>> Jakarta >> > >> >>> >> >> >>>>>>> >> >> artifacts >> > >> >>> >> >> >>>>>>> >> >> >> is beneficial in long term. >> > >> >>> >> >> >>>>>>> >> >> >> Large chunk [3] of work has been already >> > done in >> > >> >>> this >> > >> >>> >> >> >>>>>>> direction. The >> > >> >>> >> >> >>>>>>> >> >> >> Spring 6 milestones with Jakarta >> > >> >>> >> >> >>>>>>> >> >> >> support are expected to land in Q4/2021 [4] >> > but >> > >> I >> > >> >>> am >> > >> >>> >> not >> > >> >>> >> >> >>>>>>> sure what >> > >> >>> >> >> >>>>>>> >> plans >> > >> >>> >> >> >>>>>>> >> >> >> Apache Karaf team has, @Freeman >> > >> >>> >> >> >>>>>>> >> >> >> do you have any insights? >> > >> > >> > >> >>> >> >> >>>>>>> >> >> JM> For Jakarta EE9 support , the another option >> > >> >>> could be >> > >> >>> >> >> >>>>>>> adding a new >> > >> >>> >> >> >>>>>>> >> >> maven >> > >> >>> >> >> >>>>>>> >> >> JM> module to transform cxf artifacts >> > >> >>> >> >> >>>>>>> >> >> JM> with jakarta package name. This transformed >> > >> >>> artifact >> > >> >>> >> can >> > >> >>> >> >> >>>>>>> coexist >> > >> >>> >> >> >>>>>>> >> with >> > >> >>> >> >> >>>>>>> >> >> the >> > >> >>> >> >> >>>>>>> >> >> JM> javax namespace with "jakarta" classifier, >> > >> >>> >> >> >>>>>>> >> >> JM> and we don't have to maintain two branches >> > >> until >> > >> >>> >> Jakarta >> > >> >>> >> >> >>>>>>> EE10 and >> > >> >>> >> >> >>>>>>> >> >> there are >> > >> >>> >> >> >>>>>>> >> >> JM> new features added. >> > >> > >> >>> >> >> >>>>>>> >> >> JM> Other projects like hibernate and jackson >> > use >> > >> this >> > >> >>> >> shade >> > >> >>> >> >> >>>>>>> plugin or >> > >> >>> >> >> >>>>>>> >> >> Eclipse >> > >> >>> >> >> >>>>>>> >> >> JM> transformer to support jakarta ee9: >> > >> > >> >>> >> >> >>>>>>> >> >> JM> >> > >> >>> >> >> >>>>>>> >> >> >> > >> >>> >> >> >>>>>>> >> >> > >> >>> >> >> >>>>>>> >> > >> >>> >> >> >> > >> >>> >> >> > >> >>> >> > >> >> > https://github.com/hibernate/hibernate-orm/blob/main/hibernate-core-jakarta/hibernate-core-jakarta.gradle#L100 >> > >> > >> >>> >> >> >>>>>>> >> >> JM> >> > >> >>> >> >> >>>>>>> >> >> >> > >> >>> >> >> >>>>>>> >> >> > >> >>> >> >> >>>>>>> >> > >> >>> >> >> >> > >> >>> >> >> > >> >>> >> > >> >> > https://github.com/FasterXML/jackson-jaxrs-providers/blob/2.12/json/pom.xml#L115 >> > >> > >> > >> > >> >>> >> >> >>>>>>> >> >> >> To summarize briefly: >> > >> >>> >> >> >>>>>>> >> >> >> - release 3.5.0 in preparation to JDK-17 >> > LTS, >> > >> >>> keeping >> > >> >>> >> >> JDK-8 >> > >> >>> >> >> >>>>>>> as >> > >> >>> >> >> >>>>>>> >> baseline >> > >> >>> >> >> >>>>>>> >> >> >> - move master to 3.6.x (4.x?) with JDK-11 as >> > >> the >> > >> >>> >> minimal >> > >> >>> >> >> >>>>>>> required >> > >> >>> >> >> >>>>>>> >> JDK >> > >> >>> >> >> >>>>>>> >> >> >> version (Jetty 10, ...) >> > >> >>> >> >> >>>>>>> >> >> >> - branch off 5.x (4.x?) to continue the >> > work on >> > >> >>> >> >> supporting >> > >> >>> >> >> >>>>>>> Jakarta >> > >> >>> >> >> >>>>>>> >> >> 9.0+, >> > >> >>> >> >> >>>>>>> >> >> >> with JDK-11 as the minimal >> > >> >>> >> >> >>>>>>> >> >> >> required JDK version (Jetty 11, ...) >> > >> > >> >>> >> >> >>>>>>> >> >> >> I think it is very clear that maintaining >> > >> JavaEE + >> > >> >>> >> JDK8 / >> > >> >>> >> >> >>>>>>> JavaEE + >> > >> >>> >> >> >>>>>>> >> >> JDK11 / >> > >> >>> >> >> >>>>>>> >> >> >> Jakarta + JDK11 would consume >> > >> >>> >> >> >>>>>>> >> >> >> much more time from the team, but I am not >> > sure >> > >> we >> > >> >>> have >> > >> >>> >> >> other >> > >> >>> >> >> >>>>>>> >> options if >> > >> >>> >> >> >>>>>>> >> >> >> we aim to evolve and keep CXF >> > >> >>> >> >> >>>>>>> >> >> >> up to date. Any thought, ideas, comments, >> > >> >>> suggestions >> > >> >>> >> >> guys? >> > >> > >> >>> >> >> >>>>>>> >> >> >> Thank you! >> > >> > >> >>> >> >> >>>>>>> >> >> >> [1] >> > >> https://github.com/apache/cxf/tree/opensaml4 >> > >> >>> >> >> >>>>>>> >> >> >> [2] >> > >> >>> >> >> >>>>>>> >> >> >> >> > >> >>> >> >> >>>>>>> >> >> >> > >> >>> >> >> >>>>>>> >> >> > >> >>> >> >> >>>>>>> >> > >> >>> >> >> >> > >> >>> >> >> > >> >>> >> > >> >> > http://mail-archives.apache.org/mod_mbox/cxf-dev/202012.mbox/%3c1503263798.20201226124...@gmail.com%3E >> > >> >>> >> >> >>>>>>> >> >> >> [3] https://github.com/apache/cxf/pull/737 >> > >> >>> >> >> >>>>>>> >> >> >> [4] >> > >> >>> >> >> >>>>>>> >> >> >> >> > >> >>> >> >> >>>>>>> >> >> >> > >> >>> >> >> >>>>>>> >> >> > >> >>> >> >> >>>>>>> >> > >> >>> >> >> >> > >> >>> >> >> > >> >>> >> > >> >> > https://github.com/spring-projects/spring-framework/issues/25354#issuecomment-875915960 >> > >> > >> >>> >> >> >>>>>>> >> >> >> Best Regards, >> > >> >>> >> >> >>>>>>> >> >> >> Andriy Redko >> > >> >