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

upper-bounds for libraries from Jenkins core should not be bumped past their version in Jenkins #734

Open
jtnord opened this issue Dec 5, 2024 · 0 comments

Comments

@jtnord
Copy link
Member

jtnord commented Dec 5, 2024

What feature do you want to see added?

The upper-bounds fixer in the PCT aligns all dependencies to the highest version under test.

However this is incorrect for libraries that come from core as the library version they get at runtime will always be the version from core. So using a newer version (that comes from elsewhere in the dependency tree) will be incorrect and lead to issues where hooks are needed for these cases (e.g. #733).
Instead the version that is used in alignment should be the version from the Jenkins core.

If a plugin is using a plugin-first classloader then bumping the version will update the library when it wouldn't have that at runtime, or mask classes, but these plugins are the exception to the general, so the PCT should cope for the general use case, and hooks should exist only for the non general.

An Argument could be made that plugins should excluded any transitive dependency from libraries so that they always only come from core and would then not be visible in the upper-bounds fixer.

Upstream changes

No response

Are you interested in contributing this feature?

No response

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

No branches or pull requests

1 participant