-
Notifications
You must be signed in to change notification settings - Fork 8
Plugin lifecycle
This page describes lifecycle of every new plugin - from release to deprecation.
New implemented plugin surely has documentation with description of how to use it and list of arguments.
Arguments of plugin could be required or optional. If argument is optional, it has default value or None by default.
Plugin surely has task config samples with it. Required arguments passed in it.
There are several cases for this section:
- Existent required argument becomes obsolete. So we need to deprecate it. It becomes optional (i.e. now argument has default value
arg=None
) and is removed from sample task config. Documentation contains note that this argument is DEPRECATED. - Add new argument. It always would be optional (i.e. argument has default value
arg=None
). - Replace one argument with another. Both arguments becomes optional, so compatibility is maintained. Documentation contains note that old argument replaced with new.
If plugin becomes deprecated (because new plugin replaces it or just because it already obsolete), we need to deprecate it everywhere, so use log_deprecated method on run
function of deprecated plugin. Documentation should contains note about plugin is DEPRECATED.
Such lifecycle approach retains backward compatibility without any heavy solutions.