-
-
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
Add non-deprecated Jenkins core library dependencies to the BOM #4702
Conversation
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 hesitated about this.
The addition of common libraries such as commons-*
(which where missed due to an oversight on my part) is fine, but the others I am not so sure about.
Whilst I understand the desire from JenkinsFileRunner
- this does make it even easier to depend on things that perhaps you shouldn't be depending on inside plugins that would make a future cleanup (yes I still have hope of that happening) much harder.
Especially for the likes of something that could become a detached plugin (icon-shim
has been excluded here to prevent a recursion of sorts (which should actually be ok as Maven breaks recursion and has ITs for it).
<artifactId>jfreechart</artifactId> | ||
<version>1.0.19</version> | ||
</dependency> | ||
<dependency> |
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.
thanks for adding the commons-*
it was on my TODO to add them - no idea why I missed them in the first round :-(
@@ -264,7 +242,7 @@ THE SOFTWARE. | |||
</dependency> | |||
<!-- | |||
still including the xpp3 driver to ensure backwards compatibilty | |||
for other plugins that may be depending on it | |||
for other plugins that may be depending on it. Not included into BOM |
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.
sounds perfect for a detached plugin?
Will this affect our ability to upgrade, downgrade, or remove any of these libraries from Jenkins, and if so, how? |
It will not. BOM just reflects the current state of included dependencies, it does not provide any new guarantees to users. Indeed it may cause build failures for users who depend on a core library that gets removed, but IMHO such failure is much better that the silent "okay" as it would happen now. I also skipped the most creepy libs which we would like to remove eventually |
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.
🤷 Don't understand this space well enough to approve; but am not rejecting either.
Co-authored-by: Daniel Beck <1831569+daniel-beck@users.noreply.github.com>
I plan to merge it in 24 hours if no negative feedback. Please see the merge process documentation for more information |
There are Jenkins-based components like Jenkinsfile runner or Custom WAR Packager which repackage the Jenkins core and add custom libraries. There is a hsistory of non-trivial breakages there caused by using wrong library versions, jenkinsci/jenkinsfile-runner#272 is a recent example for version-number.
This patch adds non-deprecated libraries from the Jenkins core into the Bill of Materials.
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 upgradeDesired 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).