Hi folks To follow up on this, I've created some JIRA tickets to get us started: https://issues.apache.org/jira/browse/TOMEE-2801 and also added some documentation to the website: http://tomee.apache.org/tomee-8.0/docs/jakartaee-9/index.html
I'd suggest starting by trying to run the transformer by hand, and then see if there's a JIRA you'd particularly like to have a go at. A good initial target would be getting a good ruleset for the transformer and getting some examples to run. After that, we can look into running the TCK. If you're able to dig in great. If this all sounds a bit wild, I'd very much encourage you to ask questions - I appreciate the offers of help, and I definitely want to help you help the project! Jon On Thu, 16 Apr 2020, 14:23 Jonathan Gallimore, <[email protected]> wrote: > Hi All, > > You may be aware that as part of the Jakarta EE 9 release later this year, > the various APIs provided in TomEE will be shifting from javax namespaces > to jakarta. > > I'm currently researching the use of the Eclipse Transformer project ( > https://projects.eclipse.org/projects/technology.transformer) to > translate both the TomEE server itself, and the source code for the > examples. > > So far, I have a converted javaee-api.jar, and a Jakarta-ized version of > TomEE that boots. There's *lots* that doesn't work at the present moment, > but I'm expecting to have the moviefun example running fairly soon - that > covers EJB, Servlets, JSPs, JPA. The REST version of the sample also covers > JAX-RS too. > > I'm aware that there's also a migration tool that Tomcat have been working > on too, and will be looking at. > > We ought to have some discussion about the approach here - in my mind > there are some high-level goals: > > * Try and maintain a single codebase for javax and jakarta. It's > tempting to fork master and embark on a massive renaming exercise. That's > complex as we'd need to do that for various dependencies as well, who may > also have other branches and timelines. Having two codebases also means > that any changes need to be applied twice, and with renamed packages, its > unlikely the git merging or cherry-picking will work. > > * Be backwards compatible - One goal I had in my mined, is that if you > have an application that uses javax, you'd probably like to be able to run > it on a new Jakarta EE server. There are some options here - I quite like > the idea of running the Transformer as a javaagent, so any applications > deployed using the old namespaces are converted on the fly at the bytecode > level. > > * Tooling - I wonder what tooling we could potentially provide? One > thought I had was a Maven plugin that can transform a war/ear file for you > as part of a build. > > Anyway, just wanted to give a heads-up on the research. Any thoughts / > discussions / questions are encouraged. > > Jon >
