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
>
>

Reply via email to