This plugin bundles all the components of Apache HttpComponents Client 5.x.
These components can be used by other plugins as a dependency. It allows managing library updates independently of plugins.
Replace the dependency to org.apache.httpcomponents.client5:httpclient5
with the dependency to apache-httpcomponents-client-5-api
.
Avoid version conflicts by using the Jenkins Plugin BOM rather than depending on a specific version.
Before:
<dependencies> ... <dependency> <groupId>org.apache.httpcomponents.client5</groupId> <artifactId>httpclient5</artifactId> <version>5.2.1</version> </dependency> ... </dependencies>
After:
<dependencies> ... <dependency> <groupId>io.jenkins.plugins</groupId> <artifactId>apache-httpcomponents-client-5-api</artifactId> </dependency> ... </dependencies>
Add the dependency to apache-httpcomponents-client-5-api
before any of dependencies to those libraries to force maven to use httpclient5
declared by apache-httpcomponents-client-5-api
.
Avoid version conflicts by using the Jenkins Plugin BOM rather than depending on a specific version.
Before:
<dependencies> ... <dependency> <artifactId>somelibrary-using-httpclient5</artifactId> <version>1.0.0</version> </dependency> <dependency> <artifactId>anotherlibrary-using-httpclient5</artifactId> <version>1.0.0</version> </dependency> ... </dependencies>
After:
<dependencies> ... <dependency> <groupId>io.jenkins.plugins</groupId> <artifactId>apache-httpcomponents-client-5-api</artifactId> </dependency> <dependency> <artifactId>somelibrary-using-httpclient5</artifactId> <version>1.0.0</version> </dependency> <dependency> <artifactId>anotherlibrary-using-httpclient5</artifactId> <version>1.0.0</version> </dependency> ... </dependencies>
Version follows the pattern of <org.apache.httpcomponents.client5 version>-<plugin version>
. This way it is clear what upstream dependency is offered and allows patch releases for the plugin itself if required.
Since org.apache.httpcomponents.client5
artifacts have a release cycle that is independent from org.apache.httpcomponents.core5
artifacts, the latter are included in patch releases for this plugin.
Release notes are recorded in GitHub Releases.
-
Plugin source and documentation - MIT License
-
Nested library - Apache License 2.0