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

Remove dependency on Commons Lang 3 #550

Closed
basil opened this issue Jan 24, 2023 · 0 comments · Fixed by jenkinsci/jenkins-test-harness-htmlunit#114
Closed

Remove dependency on Commons Lang 3 #550

basil opened this issue Jan 24, 2023 · 0 comments · Fixed by jenkinsci/jenkins-test-harness-htmlunit#114
Labels

Comments

@basil
Copy link
Member

basil commented Jan 24, 2023

This component depends on Commons Lang 3 and delivers it via the shaded jenkins-test-harness-htmlunit in the normal package namespace. This is problematic because there exists a Commons Lang 3 library plugin, which also might be on the test classpath and might provide the identical classes, and based on the order of the dependencies on the classpath one or the other might be used. Ideally we would remove the dependency on Commons Lang 3, for example by relocating the packages in the shaded jenkins-test-harness-htmlunit JAR, but this is challenging for a few reasons:

  • This component itself exposes an ImmutablePair type in its public API (via JenkinsRule._createWebServer), so consumers would need to be adapted.
  • The fact that the test harness has delivered Commons Lang 3 on the classpath for a long time means that a few dozen plugins have grown to depend on it, so removing it would break upgrade for those plugins. They should be adapted ahead of time to drop their dependency on Commons Lang 3 (for example, by instead depending on the Commons Lang 2 provided by Jenkins core or standard Java Platform functionality).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
1 participant