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