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

Reply via email to