Might be an outdated snapshot because I don't seem to reproduce locally and I'm up to date -- Jean-Louis Monteiro http://twitter.com/jlouismonteiro http://www.tomitribe.com
On Tue, Mar 30, 2021 at 8:43 PM Jean-Louis Monteiro < [email protected]> wrote: > Ok looks like we are back to normal. Everything is working so far. Bad > news is that I have no idea what really fixed the problem. > But we are having a lot of NoSuchMethodError with OpenWebBeans > > -- > Jean-Louis Monteiro > http://twitter.com/jlouismonteiro > http://www.tomitribe.com > > > On Mon, Mar 29, 2021 at 9:21 AM Jean-Louis Monteiro < > [email protected]> wrote: > >> Hey David and all, >> >> Thanks for the detailed write up. >> I made some changes to being able to patch Tomcat both in tomee-jakarta >> and in the Maven tomee-patch-plugin. >> Made some small changes to bring back Jenkins to green because it was >> failing. >> >> We should be good to move on. >> >> While doing this, I realized an issue with the packaging that makes the >> execution fail. >> Maven seems to pull both the -SNAPSHOT jar and the timestamped version >> like >> >> $ ls apache-tomee-plume-9.0.0-M7-SNAPSHOT/lib/tomee* >>> apache-tomee-plume-9.0.0-M7-SNAPSHOT/lib/tomee-catalina-8.0.7-20210327.040242-103.jar >>> apache-tomee-plume-9.0.0-M7-SNAPSHOT/lib/tomee-jdbc-8.0.7-SNAPSHOT.jar >>> apache-tomee-plume-9.0.0-M7-SNAPSHOT/lib/tomee-catalina-8.0.7-SNAPSHOT.jar >>> >>> apache-tomee-plume-9.0.0-M7-SNAPSHOT/lib/tomee-juli-8.0.7-20210327.040051-103.jar >>> apache-tomee-plume-9.0.0-M7-SNAPSHOT/lib/tomee-common-8.0.7-SNAPSHOT.jar >>> >>> apache-tomee-plume-9.0.0-M7-SNAPSHOT/lib/tomee-loader-8.0.7-20210327.040109-103.jar >>> apache-tomee-plume-9.0.0-M7-SNAPSHOT/lib/tomee-config-8.0.7-20210327.035954-103.jar >>> >>> apache-tomee-plume-9.0.0-M7-SNAPSHOT/lib/tomee-loader-8.0.7-SNAPSHOT.jar >>> apache-tomee-plume-9.0.0-M7-SNAPSHOT/lib/tomee-config-8.0.7-SNAPSHOT.jar >>> >>> apache-tomee-plume-9.0.0-M7-SNAPSHOT/lib/tomee-mojarra-8.0.7-SNAPSHOT.jar >>> apache-tomee-plume-9.0.0-M7-SNAPSHOT/lib/tomee-jaxrs-8.0.7-20210327.040512-103.jar >>> >>> apache-tomee-plume-9.0.0-M7-SNAPSHOT/lib/tomee-security-8.0.7-SNAPSHOT.jar >>> apache-tomee-plume-9.0.0-M7-SNAPSHOT/lib/tomee-jaxrs-8.0.7-SNAPSHOT.jar >>> >>> apache-tomee-plume-9.0.0-M7-SNAPSHOT/lib/tomee-webapp-8.0.7-SNAPSHOT.jar >>> apache-tomee-plume-9.0.0-M7-SNAPSHOT/lib/tomee-jdbc-8.0.7-20210327.040122-103.jar >>> >>> >>> apache-tomee-plume-9.0.0-M7-SNAPSHOT/lib/tomee-webservices-8.0.7-20210327.040612-103.jar >>> >> >> If someone can look at it, or I'll have a look today >> -- >> Jean-Louis Monteiro >> http://twitter.com/jlouismonteiro >> http://www.tomitribe.com >> >> >> On Sat, Mar 27, 2021 at 5:05 AM David Blevins <[email protected]> >> wrote: >> >>> Hi All, >>> >>> Some updates. I went ahead and merged that change so we're now building >>> wars, zips, tars and officially using Tomcat 10 in TomEE 9! >>> >>> We're using Mojarra 3.0.0 and Eclipselink 3.0.0 and I've made >>> improvements to the TomEE Patch Plugin to ensure that the versions we have >>> in the dists is completely unmodified by the Eclipse Transformer or TomEE >>> Patch Plugin. Here's how that works (I'll add this to the README). >>> >>> In the configuration of the plugin you can have a directive like the >>> following: >>> >>> <configuration> >>> <select>tomee-plume-webapp-transformed-.*\.war</select> >>> <patchSources> >>> >>> <source>${project.basedir}/../../transform/src/patch/java/</source> >>> <source>${project.basedir}/src/patch/java/</source> >>> </patchSources> >>> <replace> >>> <jars> >>> >>> <jakarta.faces-3.0.0.jar>org.glassfish:jakarta.faces:jar:3.0.0</jakarta.faces-3.0.0.jar> >>> >>> <eclipselink-3.0.0.jar>org.eclipse.persistence:eclipselink:jar:3.0.0</eclipselink-3.0.0.jar> >>> </jars> >>> <resources> >>> >>> <openejb-version.properties>${project.build.outputDirectory}/openejb-version.properties</openejb-version.properties> >>> </resources> >>> </replace> >>> </configuration> >>> >>> ## select >>> >>> The `<select>` setting is what tells the plugin which binaries to >>> modify. In the above setting we're saying we want to patch the output of >>> the Eclipse Transformer. The input to the transformer is the regular >>> `tomee-plume-webapp-9.0.0-M123-SNAPSHOT.war` file and the output is a new >>> `tomee-plume-webapp-transformed-9.0.0-M123-SNAPSHOT.war` file. It's the >>> "transformed" file we want to further patch. >>> >>> ## patchSources >>> >>> The `<patchSources>` list allows us to specify locations where *.java >>> files live. We will copy these into the `target/` directory and compile >>> them using any *.jar files we find in the war file to create the >>> classpath. These compiled classes are then used to overwrite any classes >>> by that name in any part of the war or its libraries. This is how we >>> handle corner cases that are too complicated to deal with using bytecode >>> tools -- we can just specify an alternate source file. >>> >>> Being able to have multiple locations for patch files keeps us from >>> having to duplicate patch files as we build multiple war files in multiple >>> modules. The above configuration says grab the *.java files from the >>> `transform` module and the *.java files from this module. >>> >>> ## replace/jars >>> >>> The `<replace><jars>` list allows us to tell the plugin, "when you see a >>> `jakarta.faces-3.0.0.jar` in the war file, replace it with the >>> `org.glassfish:jakarta.faces:jar:3.0.0` artifact from our local maven >>> repo." We can use this to effectively restore any jars we do not want the >>> Eclipse Transformer to modify. This will be any jar file that already >>> fully supports the Jakarta namespace, like the latest Eclipselink, Mojarra >>> or MyFaces. Of course in theory the Transformer shouldn't have a negative >>> impact on jars that already support the new namespace, but why risk it when >>> it's easy to gain 100% confidence the jar we ship is byte for byte the same >>> one produced by the respective project. >>> >>> This setting could potentially also be used to do library upgrades via >>> the patch plugin. >>> >>> ## replace/resources >>> >>> The `<replace><jars>` list allows us to tell the plugin, "when you see >>> an `openejb-version.properties` file anywhere in the war file or its >>> libraries, replace it with the specially modified version from >>> `target/classes/`." In the module we're generating a new >>> `openejb-version.properties` so we can change the version TomEE reports >>> from "8.0.7-SNAPSHOT" to "9.0.0-M7-SNAPSHOT" >>> >>> # Current Jakarta EE 9.1 Results >>> >>> With all these changes to library upgrades and how we're doing the >>> bytecode modification, we're now down to 218 test failures against the >>> March 8th snapshot of the Jakarta EE 9.1 TCK. >>> >>> - https://tck.work/tomee/build?id=1616775424416 >>> >>> The Jakarta EE 9.1 release is scheduled for mid-may, so that'd give us >>> till end of April to get on the official ballot and surprise the world :) >>> It would take some intense hours over the next month and a bunch of work >>> both here and in Jakarta, but I think we have a real shot. Not an easy >>> shot, but one worth going for. >>> >>> I'll try to post some details tomorrow on running the TCK locally. The >>> current instructions don't cover 9.1. >>> >>> >>> -David >>> >>>
