Skip to content

Creating a Plugin

Any file that ends in _plug_in is automatically included in the list of plugins. The only thing you need to do is to create a class and use it.

You once you have a plugin manager set up:

self.plugin_manager = plugin_manager.PluginManager()
failedPlugins = self.plugin_manager.SetListOfEnvironmentDescriptors(
    build_env.plugins)

All you need to do is find and run your plugin.

# Get list of descriptors for ICiBuildPlugin type objects
pluginList = self.plugin_manager.GetPluginsOfClass(plugin_manager.ICiBuildPlugin)
# Descriptor.Obj is going to be a callable object of type ICiBuildPlugin
for Descriptor in pluginList:
    rc = Descriptor.Obj.RunBuildPlugin(...)

Since you are creating and using a new plugin type, you can define the API to be whatever you want!