I've picked up a task related to the examples:
https://issues.apache.org/jira/browse/TOMEE-3873. I specifically went for
this, as I added the Eclipse Transformer to the build for a number of
examples in the past, back when we were doing the transformation process on
TomEE itself. The drawbacks here is that any tests in the examples run on
the javax code, and we just "assume" that the transformed artifact works. I
would suggest removing that for the master build, as it just takes build
time, and the examples should be transformed from javax to jakarta at
source (if they aren't already). On the TomEE 8 build, we could select a
few examples (no need to do them all) and find a way to run the tests on
both javax and jakarta versions of TomEE.

Additionally, it would likely be useful to add documentation to this. If we
also wanted a bigger example application that specifically covers
transformation, I could look at that too.

What do you think?

Jon



On Tue, Mar 22, 2022 at 12:58 PM Jean-Louis Monteiro <
jlmonte...@tomitribe.com> wrote:

> 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