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

For Jakarta EE9 support , the another option could be adding a new maven
module to transform cxf artifacts
with jakarta package name. This transformed artifact can coexist with the
javax namespace with "jakarta" classifier,
and we don't have to maintain two branches until Jakarta EE10 and there are
new features added.

Other projects like hibernate and jackson use this shade plugin or Eclipse
transformer to support jakarta ee9:

https://github.com/hibernate/hibernate-orm/blob/main/hibernate-core-jakarta/hibernate-core-jakarta.gradle#L100

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