Plugin facing API does not provide access to PluginError

Background

plugin.py: Plugin.__call() throws PluginError which cannot be caught within the plugin and handled appropriately.

For example: The git source plugin uses the call API throughout and can only choose to display a message on fail, rather than choosing to handle the error e.g. Raise an exception with a temporary flag as implemented in !559 (closed).

Task description

  • Extend buildstream/__init__.py to contain a plugin facing API reference to PluginError.

Acceptance Criteria

  • Plugins must be able to handle PluginError exceptions.
Edited by Qinusty