> On Apr 17, 2021, at 4:06 PM, David Blevins <david.blev...@gmail.com> wrote: > > Digging up this old discussion thread on removing the tomee-foo-webapp > modules. > > At the moment our TCK progress is essentially halted due to issues created by > the complexity of these webapps and how we build the server. [...] > There are duplicates of basically any SNAPSHOT dependency.
Some overdue updates for everyone. First, I filed a JIRA for this effort and linked this thread as Richard suggested (good suggestion, Richard!): - https://issues.apache.org/jira/browse/TOMEE-3724 # Removed dependencies between war files At a high level, the fix for this one was to remove the dependencies between each webapp. The apache-tomee-8.0.7-plume.tar.gz was built by extracting the tomee-plume-webapp-8.0.7.war file, which was built itself by extracting the tomee-webapp-8.0.7.war. We got duplicate snapshot jars when tomee-webapp-8.0.7.war was copied into the contents tomee-plume-webapp-8.0.7.war. I was able to eliminate that by: - remove the dependency on `tomee/tomee-webapp` in the `tomee/tomee-plume-webapp`, `tomee/tomee-plus-webapp`, `tomee/tomee-microprofile-webapp` modules. - copy the individual dependencies from `tomee/tomee-webapp` into the `tomee/tomee-plume-webapp`, `tomee/tomee-plus-webapp`, `tomee/tomee-microprofile-webapp` modules. - copy the tomee.xml, service-jar.xml and other resource files from `tomee/tomee-webapp` into the `tomee/tomee-plume-webapp`, `tomee/tomee-plus-webapp`, `tomee/tomee-microprofile-webapp` modules. # Verified no library changes I verified no libraries were getting lost or added by using the generated BOM files. Essentially, I made sure they were completely up to date before starting. Then I generated them again after all the changes and verified nothing significant was different. There was only one change and that was to remove commons-digester from plume: - https://github.com/apache/tomee/commit/1d00ecc7657f7600cad2bf4c51207e9254fdf556#diff-fdc0361a8603d98a7b7839d18ace18a4742015c79c0a8853f5b876a62a5993fe After some investigation it looks like that was getting pulled in by MyFaces and ended up in Plume only because it was present in the tomee-webapp. We excluded MyFaces from tomee-plume-webapp, but not its dependencies. # Eliminated remaining date-stamped jars We were basically functional with those steps and could get some usable TCK runs. We were still getting date-stamped jars, however no duplicates. Richard keenly pointed out the issue preventing our fix for that, so I was able to implement an update that completely removes them. Inside the `tomee/apache-tomee` we now have configuration that looks like this: - `<remove.datestamp>${tomee.version}, ${project.version}, ${cxf.version}</remove.datestamp>` As we add snapshots we'll need to update that list. # Smaller snapshot upload The amount we're uploading on a snapshot deploy is about 330MB smaller. This is due to the way were copying the tomee-webapp into other modules we were getting some very large tomee-plume-webapp.jar files. Additionally, the tomee-webapp module itself was marked as a "jar" module and the others were marked as "war" modules. Switching them all to module type "jar" seemed to also reduce the size of the target directory. That's about as far as I'll take this for now. We can do more, but this was enough to get the TCK functional again despite the additional snapshots. -David
smime.p7s
Description: S/MIME cryptographic signature