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

Reply via email to