Skip to content
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

Merged
merged 3 commits into from
May 22, 2020

Conversation

oleg-nenashev
Copy link
Member

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

  • Add non-deprecated Jenkins core library dependencies to the BOM
  • ...

Proposed upgrade guidelines

N/A

Submitter checklist

  • (If applicable) Jira issue is well described
  • Changelog entries and upgrade guidelines are appropriate for the audience affected by the change (users or developer, depending on the change). Examples
    • Fill-in the Proposed changelog entries section only if there are breaking changes or other changes which may require extra steps from users during the upgrade
  • Appropriate autotests or explanation to why this change has no tests
  • For dependency updates: links to external changelogs and, if possible, full diffs

Desired reviewers

@mention

Maintainer checklist

Before the changes are marked as ready-for-merge:

  • There are at least 2 approvals for the pull request and no outstanding requests for change
  • Conversations in the pull request are over OR it is explicit that a reviewer does not block the change
  • Changelog entries in the PR title and/or Proposed changelog entries are correct
  • Proper changelog labels are set so that the changelog can be generated automatically
  • If the change needs additional upgrade steps from users, upgrade-guide-needed label is set and there is a Proposed upgrade guidelines section in the PR title. (example)
  • If it would make sense to backport the change to LTS, a Jira issue must exist, be a Bug or Improvement, and be labeled as lts-candidate to be considered (see query).

@oleg-nenashev oleg-nenashev added the developer Changes which impact plugin developers label May 2, 2020
@oleg-nenashev oleg-nenashev requested a review from jtnord May 2, 2020 13:55
Copy link
Member

@jtnord jtnord left a 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>
Copy link
Member

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
Copy link
Member

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?

@daniel-beck
Copy link
Member

Will this affect our ability to upgrade, downgrade, or remove any of these libraries from Jenkins, and if so, how?

@oleg-nenashev
Copy link
Member Author

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

@oleg-nenashev oleg-nenashev requested a review from daniel-beck May 10, 2020 09:22
Copy link
Member

@daniel-beck daniel-beck left a 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.

bom/pom.xml Outdated Show resolved Hide resolved
@fcojfernandez fcojfernandez added the unresolved-merge-conflict There is a merge conflict with the target branch. label May 14, 2020
bom/pom.xml Outdated Show resolved Hide resolved
Co-authored-by: Daniel Beck <1831569+daniel-beck@users.noreply.github.com>
@timja timja removed the unresolved-merge-conflict There is a merge conflict with the target branch. label May 17, 2020
@oleg-nenashev oleg-nenashev added the ready-for-merge The PR is ready to go, and it will be merged soon if there is no negative feedback label May 18, 2020
@oleg-nenashev
Copy link
Member Author

I plan to merge it in 24 hours if no negative feedback. Please see the merge process documentation for more information

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
developer Changes which impact plugin developers ready-for-merge The PR is ready to go, and it will be merged soon if there is no negative feedback
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants