Filed against core, as there is no component for the maven-hpi-plugin.
When a plugin has an older core dependency, Jenkins currently adds all plugins detached from core to the plugins' class path, as they may be used by the plugin.
This can easily lead to circular dependencies, and core has a solution for that in ClassicPluginStrategy (BREAK_CYCLES).
However, it would be great if plugins could declare that they do not have certain implied dependencies in their own metadata. This has several advantages:
- Doesn't require core modifications to break dependency cycles
- Plugins can explicitly not depend on detached plugins, thereby making careful Jenkins administration easier and more stricter dependency handling (refuse to load plugins that don't have all dependencies) viable.