A year after I reported
https://github.com/jakartaee/mail-api/issues/665 upstream, a fix has
finally been released in Jakarta Mail 2.1.3, allowing me to finally
migrate the Jenkins ecosystem to Jakarta Activation 2.1.3, Jakarta
Mail 2.1.3, and Eclipse Angus. This in turn finally eliminates the
namespace conflict with the old javax plugins, resolving
JENKINS-70627. The change has been deployed to production users for a
few days with no reported issues. Thanks to Olivier Lamy for making
the first commit in this direction over a year ago.

There is some low-priority cleanup work remaining, which I do not have
the energy to do right now. JENKINS-72822 describes how to remove the
last remaining workaround in this subsystem, something that is
possible now that we are on Jakarta Activation 2.1.3 if the Jakarta
Activation API plugin and Jakarta Mail API plugins were first merged
into a single plugin. Upstream has assured me the workaround is part
of a stable API and should continue to work, so I see no urgent need
to work on this in the short to medium term. But if anyone is
interested, once the plugins are combined into one, removing the
workaround should be as simple as deleting all Java files from Jakarta
Mail API plugin.

The other bit of cleanup is migrating Mock JavaMail usages to the new
APIs. This is low priority since it only affects tests and is not
blocking any production users or BOM/PCT work. I filed a handful of
PRs to update the most important consumers in the jenkinsci GitHub
organization, but for the sake of posterity the instructions are as
follows:

1. Upgrade jakarta-activation-api and jakarta-mail-api to 2.1.3-1 in a
<dependencyManagement> section (until these are in a BOM release).
2. Upgrade mock-javamail to 2.2, adding exclusions for
jakarta.activation-api, jakarta.mail-api, angus-activation, and
angus-mail.
3. Ensure the dependency on jakarta-mail-api is above the dependency
for mock-javamail, after configuring Surefire to use system property
variables for mail.smtp.class, mail.pop3.class, and mail.imap.class.

Examples here:

https://github.com/jenkinsci/claim-plugin/pull/278
https://github.com/jenkinsci/email-ext-plugin/pull/503
https://github.com/jenkinsci/mailer-plugin/pull/272
https://github.com/jenkinsci/workflow-basic-steps-plugin/pull/300

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CAFwNDjrXpvow8PKmgmkjdT%2B78VUqgdwCVD_oMrN%2B7Dn4gX3cOQ%40mail.gmail.com.

Reply via email to