You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to only include necessary dependencies
As a plugin producer with dependencies
I want the jpi plugin to not include dependencies that Jenkins provides
Since v0.39.0 began using the built-in configurations for producing the jpi, transitive dependencies the platform provides must be manually excluded. For example: if a guice extension is brought in, it will bring guice with it as a transitive dependency, and that will be packaged into the jpi -- but Jenkins already provides this and it can be excluded from the archive.
One scenario to consider is when the included dependency is different than the provided dependency. Due to the way Jenkins loads classes, these will often not be considered anyway. The best course of action may be to fail and ask the user to make a decision.
In order to only include necessary dependencies
As a plugin producer with dependencies
I want the jpi plugin to not include dependencies that Jenkins provides
Since v0.39.0 began using the built-in configurations for producing the jpi, transitive dependencies the platform provides must be manually excluded. For example: if a guice extension is brought in, it will bring guice with it as a transitive dependency, and that will be packaged into the jpi -- but Jenkins already provides this and it can be excluded from the archive.
One scenario to consider is when the included dependency is different than the provided dependency. Due to the way Jenkins loads classes, these will often not be considered anyway. The best course of action may be to fail and ask the user to make a decision.
See also Jenkins' Dependencies and Class Loading, Gradle's Capabilities.
The text was updated successfully, but these errors were encountered: