Thanks for the quick update , Andriy. 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] I am not sure if I understood this issue correctly : we now use spring utility class to scan the resource/provider classes. If we make spring optional , this won't work and we have to create the Scanner like something with extcos ? >From looking at the code,it only used by load resource by non spring class. Would it be enough if we replace this with load resource from classloader ? @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). @Christian Do you still remember what's the main problem when you did this poc ? > > 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. > +1. Let's see how much we can move forward to reduce the scope of the spring dependency. I'll try to get more time to look at this task. > > 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 > >