Hi,

I've been working for quite a long time on TomEE 9.x, and it's been more
challenging and painful than I was expecting. I thought it would be good to
give you some sort of status.

I created a PR for the work. As a reminder, since Java EE moved to Eclipse
to become Jakarta EE, we had a switch from javax.* namespace to jakarta.*
namespace. This is an impacting change, since all applications and
applications servers are built on top of it.

In TomEE, we decided to do that change in TomEE. We had previously a
bytecode change approach like an application could do. It worked and we
were able to get certified. But it had a lot of limitations, so we had to
do the migration in the code and fix all compatibility issues.

Here is the PR https://github.com/apache/tomee/pull/814
It has 90+ commits and nearly 5000 files touched (added, removed, updated).
I understand it's a lot and it makes it almost impossible to review. But I
did not see much approaches in this scenario to create smaller PRs.

I created a Jenkins build though available at
https://ci-builds.apache.org/job/Tomee/job/master-build-quick-9.x/

It makes it possible to track the progress. There have been steps forward
and steps backward.

All the code does not sit under TomEE, we use a bunch of third party
projects and libraries. I have been able to contribute, publish jakarta
compatible versions and get releases for some of them (Jakarta EE APIs Uber
jar, Geronimo Connectors and Transaction Manager, Geronimo Config, Health,
Metrics, OpenTracing, OpenAPI. OpenJPA, BVal, and OpenWebBeans will be
released soon.

The big parts is CXF, and ActiveMQ. I had to get them done in TomEE and
update all group/artifact ids. It's under deps, alongside with SXC, DBCP,
and others.

In terms of removal, I tried to remove old stuff like SAAJ Axis 1
integration, JAX RPC, Management J2EE and a couple of other old things.

A lot of other libraries got updated to their latest version when available
in the new jakarta namespace.

I'm starting to get all the build stable and many modules are passing now,
including all CXF webservices, OpenEJB Core, and others. I can get a build
and run TomEE.

Goal is to get a green build asap so we can start working on TCK.
The "quick" build is now green. Working on the full build.

I'll soon be creating a branch for TomEE 8.x maintenance and merge the PR.
I'm hoping we can then have small PRs or at least more people working in
parallel.

--
Jean-Louis Monteiro
http://twitter.com/jlouismonteiro
http://www.tomitribe.com

Reply via email to