Hi all,

Time for some reporting....

On our journey to migrate TomEE over from javax to jakarta namespace, we
had many issues.
After updating all our code, we had to do a bunch of dependency upgrades
after upgrading many of them (OpenWebbeans, BVal, Geronimo, etc).

We then faced many issues with non compatible libraries for example
(ActiveMQ, commons-dbcp, CXF, sxc, taglib, etc). So we ended up repacking
them in our own groupId after using the Maven Shade plugin to relocate the
packages.

We worked on BVal TCK and CDI TCK and we are close to passing them.

But we had before to solve all our outdated MicroProfile 1.3 stack to the
most recent and jakarta compatible version. Geronimo implementations being
far being, we decided to use some SmallRye implementations until we can
dedicate some time to update our Apache implementations (config, metrics,
health, openapi, opentracing, fault tolerance).

Our build is now more stable, but still not green. Some issues are
basically easy to fix and most people could do it (examples for instance).

https://ci-builds.apache.org/job/Tomee/job/master-build-full/

The integration for openapi, opentracing and fault tolerance is not done
and we are far from passing the TCK. On config, metrics and health we are
close. Same for our JWT implementation.

I also wanted to have a view on the platform TCK, so I decided to stop
TomEE work in order to spend time on the Platform TCK to do all dependency
upgrades and get the TCK to run properly. I'm pleased to announce that
after 2 weeks of hard work, we are 99% compatible

https://tck.work/tomee/build?id=1652104572445

Thanks everyone for the help.
Keep going and if you need some guidance or help, let us know.

For coordination purposes, here is the issue
https://issues.apache.org/jira/browse/TOMEE-3862
Many subtasks are there and you can create new tasks when needed and ask
any committer to assign it to you.



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


On Thu, May 5, 2022 at 11:13 AM Zowalla, Richard <
richard.zowa...@hs-heilbronn.de> wrote:

> Yes - we already yanked it in 9.x
>
> Gruß
> Richard
>
> Am Donnerstag, dem 05.05.2022 um 10:10 +0100 schrieb Jonathan
> Gallimore:
> > Sounds good. I'll drop the transformer from the 8.x branch (looks
> > like we
> > don't use it in 9.x), and I'll create a single example to demonstrate
> > it in
> > a sandbox.
> >
> > Jon
> >
> > On Wed, May 4, 2022 at 12:32 PM Zowalla, Richard <
> > richard.zowa...@hs-heilbronn.de> wrote:
> >
> > > You are right - we can remove it imho from 8.x as we do not test
> > > with
> > > it and the transformed samples might not even work, e.g.
> > > dependencies
> > > are not migrated, etc.
> > >
> > > +1 for providing a (bigger) example.
> > >
> > > Gruß
> > > Richard
> > >
> > > Am Mittwoch, dem 04.05.2022 um 11:17 +0100 schrieb Jonathan
> > > Gallimore:
> > > > 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