rezplugins.release_hook.command

Executes pre- and post-release shell commands

class rezplugins.release_hook.command.CommandReleaseHook(source_path)[source]

Bases: rez.release_hook.ReleaseHook

commands_schema = Schema({'command': <class 'str'>, Optional('args'): Or(And(<class 'str'>, Use(<function CommandReleaseHook.<lambda>>)), [<class 'str'>]), Optional('pretty_args'): <class 'bool'>, Optional('user'): <class 'str'>, Optional('env'): <class 'dict'>})
execute_command(cmd_name, cmd_arguments, user, errors, env=None)[source]
classmethod name()[source]

Return name of source retriever, eg ‘git’

post_release(user, install_path, variants, **kwargs)[source]

Post-release hook.

This is called after all package variants have been released.

Parameters
  • user – Name of person who did the release.

  • install_path – Directory the package was installed into.

  • variants (list of Variant) – The variants that have been released.

  • release_message – User-supplied release message.

  • changelog – List of strings describing changes since last release.

  • previous_version – Version of previously-release package, None if no previous release.

  • previous_revision – Revision of previously-releaved package (type depends on repo - see ReleaseVCS.get_current_revision().

  • kwargs – Reserved.

pre_build(user, install_path, variants=None, **kwargs)[source]

Pre-build hook.

Parameters
  • user – Name of person who did the release.

  • install_path – Directory the package was installed into.

  • variants – List of variant indices we are attempting to build, or None

  • release_message – User-supplied release message.

  • changelog – List of strings describing changes since last release.

  • previous_version – Version object - previously-release package, or None if no previous release.

  • previous_revision – Revision of previously-released package (type depends on repo - see ReleaseVCS.get_current_revision().

  • kwargs – Reserved.

Note

This method should raise a ReleaseHookCancellingError if the release process should be cancelled.

pre_release(user, install_path, variants=None, **kwargs)[source]

Pre-release hook.

This is called before any package variants are released.

Parameters
  • user – Name of person who did the release.

  • install_path – Directory the package was installed into.

  • variants – List of variant indices we are attempting to release, or None

  • release_message – User-supplied release message.

  • changelog – List of strings describing changes since last release.

  • previous_version – Version object - previously-release package, or None if no previous release.

  • previous_revision – Revision of previously-releaved package (type depends on repo - see ReleaseVCS.get_current_revision().

  • kwargs – Reserved.

Note

This method should raise a ReleaseHookCancellingError if the release process should be cancelled.

schema_dict = {'cancel_on_error': <class 'bool'>, 'post_release_commands': [Schema({'command': <class 'str'>, Optional('args'): Or(And(<class 'str'>, Use(<function CommandReleaseHook.<lambda>>)), [<class 'str'>]), Optional('pretty_args'): <class 'bool'>, Optional('user'): <class 'str'>, Optional('env'): <class 'dict'>})], 'pre_build_commands': [Schema({'command': <class 'str'>, Optional('args'): Or(And(<class 'str'>, Use(<function CommandReleaseHook.<lambda>>)), [<class 'str'>]), Optional('pretty_args'): <class 'bool'>, Optional('user'): <class 'str'>, Optional('env'): <class 'dict'>})], 'pre_release_commands': [Schema({'command': <class 'str'>, Optional('args'): Or(And(<class 'str'>, Use(<function CommandReleaseHook.<lambda>>)), [<class 'str'>]), Optional('pretty_args'): <class 'bool'>, Optional('user'): <class 'str'>, Optional('env'): <class 'dict'>})], 'print_commands': <class 'bool'>, 'print_error': <class 'bool'>, 'print_output': <class 'bool'>, 'stop_on_error': <class 'bool'>}
rezplugins.release_hook.command.register_plugin()[source]