Plugins form a big part of what Atlassian software does. However we don't do a good job in trying to know what
plugins are loaded and importantly which ones have failed to load.
This class is used to track what plugins are expected to be loaded, what did load as expected and what failed to
||A simple holder class of plugin information
||Represents a dependency that a plugin has to some other service
- the list if plugins that failed to load
- the list of plugins that loaded as plugin artifacts but never resolved into actual failed or loaded
plugins. This list REALLY should be empty once the plugin system has started and the the plugins have
been otherwise we have a serious problem.
(Plugin plugin, Exception pluginException)
Called when the plugin container for the bundle has failed to be created. This means the bundle is still active,
but the plugin container is not available, so for our purposes, the plugin shouldn't be enabled.
||The plugin container failed event
(Plugin plugin, PluginArtifact pluginArtifact)
This is called then the PluginFactory has decided it can create a plugin BUT it hasn't started it and hence
resolved its dependencies
||the plugin that has been created by the PluginFactory but not resolved
||the artifact used to load this plugin