Convert API dependencies to plugin dependencies

Jenkins plugins frequently use libraries for common tasks. HTTP communications are often done with the apache-httpcomponents library. YAML parsing is often done with snakeyaml. Bouncycastle is used to provide encryption. AWS SDK libraries are used for AWS access. Google APIs client library is used for Google Cloud Platform access.

Many of those dependencies can be replaced by dependencies on a Jenkins API plugin that provides the same API for multiple plugins. When an API library dependency is replaced with a plugin dependency, the size of the plugin hpi file decreases, and the consistency of using the same library version throughout Jenkins will help reliability.

Jenkins API plugins include:
  • Bouncycastle API

  • Jackson 2 API

  • Trilead API

  • SnakeYAML API

  • JQuery3 API

  • Bootstrap4 API

  • OkHttp API

  • JSON Web Token API

  • Caffeine API

  • Bootstrap 5 API

  • H2 API

  • Google APIs Client Library

  • AWS SDK APIs

  • Font Awesome API

  • DataTables.net API

  • Kubernetes client API