On Fri, Aug 9, 2024 at 2:19 PM David Taylor <david.tay...@extensiatech.com> wrote:
> Hello All, > Hello, David! > We had the same idea about adding a classifier or altering the maven > coordinates. What we found is that adding "-jakarata" to the artifact > names worked extremely well and required very minimal changes to the > Tapestry 5 gradle build. One benefit of this approach is that we were > able to use the same version number for both javax and jakarta artifacts > since they effectively have separate namespaces. > I've just done something which I believe is similar to what you did, maybe with the difference that only 5 artifacts get the '-jakarta suffix: tapestry-core, tapestry-http, tapestry-test, tapestry-runner, tapestry-spring. I'll call these the 'Jakarta-affected artifacts'. They are generated from the master branch, but their artifact names and their dependencies on other Jakarta-affected artifacts get the '-jakarta' suffix. The non-affected artifacts, such as Plastic and Tapestry-IoC, are also generated from master unchanged. The unsuffixed, javax.servlet-using versions of Jakarta-affected artifacts are generated from the javax branch. Non-affected artifacts are not generated from the javax branch to avoid duplication. This is going to be Tapestry 5.9.0. We're going to start a voting thread on its release, actual version name '5.9.0-preview', on the dev mailing list soon. I'd love to have you and everyone else to give it a try, since I don't have any project using jakarta.servlet yet. We also investigated the classifiers approach, but abandoned that idea > quickly since it required much more extensive project changes. We also > ran into major problems with IntelliJ's handling of source and javadoc > archives with another library that went down that path (Apache Shiro > IIRC). In that case, they used a transform to generate the jakarta > artifacts from the javax artifacts. The net effect was that the IDE was > confused by the classifiers and selected the wrong sources and javadoc > archives. > Oh, thank you very, very, very much for this information. I was going to try the classifier approach and I completely dropped it upon reading your message. Didn't I say the Tapestry community is full of intelligent, clever, experienced people? :D FYI - On a related note, we have been tracking changes to the master > branch for our jakarata build, and encountered a runtime breakage in > some of the recent changes (~ 3 weeks ago). The errors we encountered > were of the of form "Exception assembling embedded component...". We > were very pressed for time when this happened, and have not had time to > track down the root cause. I read somewhere that this was a known issue > to be fixed in 5.8.7. > Yes, it was a known issue, a regression from the multiple classloader support, and it was fixed on 5.8.7. Cheers! -- Thiago H. de Paula Figueiredo