-
-
Notifications
You must be signed in to change notification settings - Fork 8.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JENKINS-67789 commons-lang3 #6267
Conversation
Add commons-lang3 support in the same style as commons-lang, so plugins can upgrade if they wish.
Upgrade jenkins internal usage from commons-lang to commons-lang3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding new dependencies to Jenkins core, which can be used by any plugin and must be maintained in perpetuity, creates a burden for the Jenkins core developers. Rather suggest creating a new API plugin for Commons Lang3 and consuming it via the plugin-to-plugin dependency mechanism.
I've rephrase then... Currently core jenkins uses commons-lang:commons-lang:2.6 which was release in 2011/06/16, and is Java 1.6.0_20 bytecode. This update changes the internal code to using an actively being maintained dependency. A side affect is plugin's can upgrade if they wish too. The original dependency probably needs to raised as deprecated and I'm happy to start looking for those plugins, raising pr's to upgrade and if needed upgrade the plugin to a newer base version. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with Basil.
For plugin usage this should be in an API plugin.
This came up internal recently due to a plugin blowing up when config-as-code was installed and an optional transitive dependency meant an old version was consumed
Longer term commons-lang
would eventually be removed from core, but that is a different issue
Rather than migrating core's usages of Commons Lang 2 to Commons Lang 3, with the associated maintenance burden of supporting Commons Lang 3 APIs in perpetuity, it would be better to rewrite usages of Commons Lang 2 in core and core components (e.g., Stapler, Remoting, etc.) to avoid the use of Commons Lang 2 and rely instead on native Java Platform APIs, as was done for usages of Guava and JavaMail in the recent past (see JEP-233). If this is done, then Commons Lang 2 can be detached into an API plugin, with plugins migrating from the future Commons Lang 2 API plugin to the future Commons Lang 3 API plugin at their leisure. See also the ongoing migration from JavaMail to Jakarta Mail, which is being handled in similar fashion. |
Thanks all for feedback/replies. Regarding Also if I'm creating this via architect, which is the best to start with |
@basil @jtnord |
Adds apache commons-lang3 support for plugin and upgrades internal usage as well.
See JENKINS-67789.
Proposed changelog entries
Proposed upgrade guidelines
N/A
Submitter checklist
Proposed changelog entries
section only if there are breaking changes or other changes which may require extra steps from users during the upgrade@Restricted
or have@since TODO
Javadoc, as appropriate.Desired reviewers
@mention
Maintainer checklist
Before the changes are marked as
ready-for-merge
:Proposed changelog entries
are correctupgrade-guide-needed
label is set and there is aProposed upgrade guidelines
section in the PR title. (example)lts-candidate
to be considered (see query).