In CloudBees CI, we implemented a custom Lifecycle implementation in a plugin.
The existing implementation of Lifecycle relied on UberClassloader however it was running before any plugin was loaded, so in practice setting a custom lifecycle coming from a plugin through the system property hudson.lifecycle was causing Jenkins startup to fail.
This is proposing a way for plugins to contribute custom lifecycles that can be activated using the system property hudson.lifecycle.
- links to