Package hudson
Interface PluginStrategy
- All Superinterfaces:
- ExtensionPoint
- All Known Implementing Classes:
- ClassicPluginStrategy
Pluggability point for how to create 
PluginWrapper.
 
 This extension point was added to allow plugins to be loaded into a different environment
 (such as loading it in an existing DI container like Plexus.) A plugin strategy is a singleton
 instance, and as such this feature is primarily meant for OEM.
 See PluginManager.createPluginStrategy() for how this instance is created.
- 
Nested Class SummaryNested classes/interfaces inherited from interface hudson.ExtensionPointExtensionPoint.LegacyInstancesAreScopedToHudson
- 
Method SummaryModifier and TypeMethodDescriptioncreatePluginWrapper(File archive) Creates a plugin wrapper, which provides a management interface for the plugin<T> List<ExtensionComponent<T>> findComponents(Class<T> type, Hudson hudson) Find components of the given type using the assigned strategy.getShortName(File archive) Finds the plugin name without actually unpacking anythingcreatePluginWrapper(java.io.File)would.voidinitializeComponents(PluginWrapper plugin) Optionally start services provided by the plugin.voidload(PluginWrapper wrapper) Loads the plugin and starts it.default voidupdateDependency(PluginWrapper depender, PluginWrapper dependee) Called when a plugin is installed, but there was already a plugin installed which optionally depended on that plugin.
- 
Method Details- 
createPluginWrapperCreates a plugin wrapper, which provides a management interface for the plugin- Parameters:
- archive- Either a directory that points to a pre-exploded plugin, or an jpi file, or an jpl file.
- Throws:
- IOException
 
- 
getShortNameFinds the plugin name without actually unpacking anythingcreatePluginWrapper(java.io.File)would. Needed byPluginManager.dynamicLoad(java.io.File)to decide whether such a plugin is already installed.- Returns:
- the PluginWrapper.getShortName()
- Throws:
- IOException
 
- 
loadLoads the plugin and starts it.This should be done after all the classloaders are constructed for all the plugins, so that dependencies can be properly loaded by plugins. - Throws:
- IOException
 
- 
initializeComponentsOptionally start services provided by the plugin. Should be called when all plugins are loaded.
- 
findComponentsFind components of the given type using the assigned strategy.- Parameters:
- type- The component type
- hudson- The Hudson scope
- Returns:
- Sequence of components
- Since:
- 1.400
 
- 
updateDependencyCalled when a plugin is installed, but there was already a plugin installed which optionally depended on that plugin. The class loader of the existing depending plugin should be updated to load classes from the newly installed plugin.- Parameters:
- depender- plugin depending on dependee.
- dependee- newly loaded plugin.
- Since:
- 1.557
 
 
-