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

Proposed additions to plugin modernization PR #1

Merged
merged 6 commits into from
Aug 6, 2024

Conversation

MarkEWaite
Copy link

These are some changes that will reduce your work as a plugin maintainer and may also improve the experience for Jenkins users of the plugin. The changes include:

  • 76fec3d - Use most recent plugin BOM release
  • 6bd0461 - Use Jenkins GSON API plugin instead of GSON library
  • adf14c6 - Use httpcomponents API plugin instead of bundling library
  • fb6c2cf - Use JSON API plugin instead of bundling outdated JSON library
  • b2c9f1c - Test with latest mockito-core and wiremock
  • 8d09a5c - Apply spotless formatting

Tests pass on my Java 21 Linux computer with these changes and the plugin binary file is reduced from 1.6 MB to 53 KB

https://plugins.jenkins.io/gson-api/dependencies/ describes the technique.

https://docs.google.com/document/d/1PKYIpPlRVGsBqrz0Ob1Cv3cefOZ5j2xtGZdWs27kLuw/edit#heading=h.bjcwbz77lxkb
provides a more verbose description of the benefit of changing from
a bundled library to instead use a Jenkins plugin that provides the
previously bundled library.
https://plugins.jenkins.io/json-api/dependencies/ describes the technique.

https://docs.google.com/document/d/1PKYIpPlRVGsBqrz0Ob1Cv3cefOZ5j2xtGZdWs27kLuw/edit#heading=h.bjcwbz77lxkb
gives more details.

Older versions of the JSON library (like this one) used a unique
licensing scheme that has been changed in newer releases.  The JSON
API plugin uses a newer release.  Using the JSON API plugin removes the
version management chore from the plugin maintainer and leaves it with
the maintainers of the plugin bill of materials.
The mockito-core version is managed by the parent pom, so it does not need
to be specified in this pom file.  The exclusions are no longer necessary.

The wiremock testing library has changed its packaging and the current
version is now at org.wiremock.wiremock-standalone.
@kirk-fitz kirk-fitz merged commit c7d98d3 into kirk-fitz:rewrite-java17 Aug 6, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants