ctl.plugins.release
Plugin interface for plugins that handle software releases
Classes
ReleasePlugin
ReleasePlugin(ctl.plugins.command.CommandPlugin)
base plugin interface for releasing / packaging software
Class Attributes
- ConfigSchema (
ConfigSchema Class
): Base plugin config schema
Methods
_release
def _release(self, **kwargs)
should run release logic
_validate
def _validate(self, **kwargs)
should run build and validation logic
execute
def execute(self, **kwargs)
execute the command(s) specified in the plugin
config command
list
overrides and calls ExecutablePlugin.execute
Exposed to CLI
namespace: ctl.{plugin_name}
release
def release(self, **kwargs)
Build, validate and release the package
Exposed to CLI
namespace: ctl.{plugin_name}.release
set_repository
def set_repository(self, repository)
Set release repository. Distributions will be built from that repository.
Currently only supports git
type repositories
Attributes
- repository (
str
): can either be the name of agit
type plugin instance or the path to git repository checkout
validate
def validate(self, **kwargs)
Build and validate the package
Exposed to CLI
namespace: ctl.{plugin_name}.validate
ReleasePluginConfig
ReleasePluginConfig(confu.schema.core.Schema)
Configuration schema for ReleasePlugin
Class Attributes
- repository (
Str
): repository target for release - should be a path to a source checkout or the name of a repository type plugin