-
Bug
-
Resolution: Fixed
-
Minor
Problem: If apache-httpcomponents-client-4-api is tested with a core dependency of 2.112 or higher it will fail with ClassNotFoundException for hudson.tools.JDKInstaller.
In I detached JDKInstaller from core into the jdk-tool plugin. At one point the work-in-progress jdk-tool build depended on apache-httpcomponents-client-4-api so that JDKInstaller could be updated to use httpcomponents-client version 4 instead of version 3, so I added an entry to split-plugins.txt to break the cycle between these plugins. Later, I decided to wait to refactor the httpcomponents-client code until the plugin was detached, and removed the dependency on apache-httpcomponents-client-4-api, but did not remove the entry in split-plugin-cycles.txt. EDIT: Adding that dependency would have required a circular dependency. I should never have tried to make jdk-tool depend on apache-httpcomponents-client-4-api with first changing apache-httpcomponents-client-4-api's tests that used JDKInstaller.JENKINS-22367
In practice, this means that apache-httpcomponents-client-4-api does not have an implied dependency on jdk-tool even though it should. This is not an issue in standard usage of the plugin, but apache-httpcomponents-client-4-api has a (broken) test that uses JDKInstaller: Client4JDKInstallerTest.
This issue was discovered by testing the plugin using the PCT with a new core version. We can fix it by removing the split-plugin-cycles.txt entry.
- relates to
-
JENKINS-22367 Move JDKInstaller to a plugin
- Resolved
- links to