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