https://github.com/jenkinsci/apache-httpcomponents-client-5-api-plugin
Bundles Apache HttpComponents Client 5.x and allows it to be used by Jenkins plugins.
https://github.com/jenkinsci/apache-httpcomponents-client-5-api-plugin
apache apache-httpclient apache-httpcomponents build http-client jenkins jenkins-library jenkins-plugin jenkins-security-scan-enabled library plugin
Last synced: about 1 month ago
JSON representation
Bundles Apache HttpComponents Client 5.x and allows it to be used by Jenkins plugins.
- Host: GitHub
- URL: https://github.com/jenkinsci/apache-httpcomponents-client-5-api-plugin
- Owner: jenkinsci
- License: mit
- Created: 2023-03-04T17:17:35.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-15T16:43:44.000Z (about 1 month ago)
- Last Synced: 2025-04-22T10:32:11.003Z (about 1 month ago)
- Topics: apache, apache-httpclient, apache-httpcomponents, build, http-client, jenkins, jenkins-library, jenkins-plugin, jenkins-security-scan-enabled, library, plugin
- Language: Java
- Homepage: https://plugins.jenkins.io/apache-httpcomponents-client-5-api
- Size: 75.2 KB
- Stars: 2
- Watchers: 2
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.adoc
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
[[apache-httpcomponents-client-5-api-plugin]]
= Apache HttpComponents Client 5.x API Plugin for Jenkins
:toc: macro
:toclevels: 3
:toc-title:image:https://ci.jenkins.io/job/Plugins/job/apache-httpcomponents-client-5-api-plugin/job/main/badge/icon[link="https://ci.jenkins.io/job/Plugins/job/apache-httpcomponents-client-5-api-plugin/job/main/"]
image:https://github.com/jenkinsci/apache-httpcomponents-client-5-api-plugin/actions/workflows/jenkins-security-scan.yml/badge.svg[link="https://github.com/jenkinsci/apache-httpcomponents-client-5-api-plugin/actions/workflows/jenkins-security-scan.yml"]image:https://img.shields.io/jenkins/plugin/i/apache-httpcomponents-client-5-api.svg?color=blue&label=installations[link="https://stats.jenkins.io/pluginversions/apache-httpcomponents-client-5-api.html"]
image:https://img.shields.io/github/contributors/jenkinsci/apache-httpcomponents-client-5-api-plugin.svg?color=blue[link="https://github.com/jenkinsci/apache-httpcomponents-client-5-api-plugin/graphs/contributors"]
image:https://img.shields.io/github/release/jenkinsci/apache-httpcomponents-client-5-api-plugin.svg?label=changelog[link="https://github.com/jenkinsci/apache-httpcomponents-client-5-api-plugin/releases/latest"]This plugin bundles all the components of https://hc.apache.org[Apache HttpComponents Client 5.x].
These components can be used by other plugins as a dependency.
It allows managing library updates independently of plugins.== How to introduce to your plugin
=== Plugins directly depending on httpclient5
Replace the dependency to `org.apache.httpcomponents.client5:httpclient5` with the dependency to `apache-httpcomponents-client-5-api`.
Avoid version conflicts by using the https://github.com/jenkinsci/bom[Jenkins Plugin BOM] rather than depending on a specific version.
*Before:*
[source,xml]
----...
org.apache.httpcomponents.client5
httpclient5
5.2.1
...----
*After:*
[source,xml]
----...
io.jenkins.plugins
apache-httpcomponents-client-5-api
...----
=== Plugins using libraries depending on httpclient5
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 https://github.com/jenkinsci/bom[Jenkins Plugin BOM] rather than depending on a specific version.
*Before:*
[source,xml]
----...
somelibrary-using-httpclient5
1.0.0
anotherlibrary-using-httpclient5
1.0.0
...----
*After:*
[source,xml]
----...
io.jenkins.plugins
apache-httpcomponents-client-5-api
somelibrary-using-httpclient5
1.0.0
anotherlibrary-using-httpclient5
1.0.0
...----
== Versioning
Version follows the pattern of `-`.
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
Release notes are recorded in https://github.com/jenkinsci/apache-httpcomponents-client-5-api-plugin/releases[GitHub Releases].
== License
* Plugin source and documentation - https://opensource.org/licenses/MIT[MIT License]
* Nested library - https://www.apache.org/licenses/LICENSE-2.0[Apache License 2.0]