Consider plugins A and B.
A has an optional dependency to B.
B exposes an extension point called B.
A contains an @Extension(optional=true) or an @OptionalExtension(requiresPlugins = "B") (when using the variant plugin)
and has public class A extends B.
- Set up a new Jenkins instance
- Install plugin A
- Install plugin B
- Check groovy console ExtensionList.lookup(B.class)
- An empty list is returned. Expected to see class A singleton.
After restarting the Jenkins instance, class A singleton is listed properly.