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

Reply via email to