Hi David, I'm glad you moved on this. As I mentioned a little while ago, the current approach was not working.
I had a quick look into the PR even though I did not get a chance to check it out and try locally. Ideally we should publish some snapshots, it does not hurt. And then fire up a TCK build. I'm overall fine with the approach. Sounds like a good compromise to avoid big maintenance costs without blocking us too much on the Jakarta EE 9 and forward. We'll see over time if we can improve, but it looks like a good starting point. -- Jean-Louis Monteiro http://twitter.com/jlouismonteiro http://www.tomitribe.com On Tue, Mar 23, 2021 at 8:07 AM David Blevins <[email protected]> wrote: > Hi All, > > I've done some work to redo how we build our TomEE 9 binaries. The > primary goals I was after in the rework: > > - Give us the ability to upgrade dependency versions; Tomcat 10, > Eclipselink, etc > - Ensure we're publishing wars and tar.gz; Rodney's been asking for this. > > Some minor things I did while I was in there: > > - Ensure the server identifies as "TomEE 9.0.0" rather than "TomEE 8.0.7" > - Publish wars, zips, tars to `org.apache.tomee` groupId rather than > `org.apache.tomee.jakarta` > > > I did this by basically copying the `tomee` directory from the main > `tomee` repo and deleting everything that wasn't a webapp or the final > `apache-tomee` module. After that there was lots of pom.xml tweaking to get > a smaller version of the parent pom.xml created. > > Future plans: > > - Copy and update CDI, Bean Validation TCK modules from TomEE 8 > > Future possibilities: > > - Generate "boms" for each dist like we do in TomEE 8 to get usable Maven > deps > - Add Arquillian adapter, perhaps via bytecode transformation of existing > TomEE 8 adpater > - Copy and update MicroProfile TCK modules from TomEE 8 - bytecode > transforming them would be necessary > > One aspect I'm interested to try tomorrow is potentially have the repo's > parent pom.xml inherit from the TomEE 8.0.7-SNAPSHOT parent pom. The > theory there is that we'd inherit the versions from TomEE 8 and could/would > only specify the versions we want to be different. This would keep > maintenance/duplication down and allow us to easily see what is different > between TomEE 8 and 9 in terms of library versions. > > Since the bytecode processing has been changed, here's a brief overview of > how it works in this PR: > > - in each tomee-foo-webapp, wars are built as usual > - in each tomee-foo-webapp the Eclipse Transformer and TomEE Patch Plugin > is setup and produces a tomee-foo-webapp-transformed-9.0.0-M7-SNAPSHOT.war > file > - in the `apache-tomee` module we pull in each "transformed" webapp and > build the server dists as usual, but now on a Tomcat 10.0.4 zip > > I've booted the server and seen things work, but I haven't updated our TCK > setup to test there. > > Since it is a big change I've not pushed it and thought it would be better > to create a PR so we could discuss. > > - https://github.com/apache/tomee-jakarta/pull/1 > > I'll wait to merge till I hear some feedback, comments, etc. It's a lot > to digest, so even "sounds promising" is good :) Not expecting a > line-by-line code review, but that's certainly welcome if you have that > kind of energy. > > > Thoughts? > > > > -- > David Blevins > http://twitter.com/dblevins > http://www.tomitribe.com > >
