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