rez.release_hook

class rez.release_hook.ReleaseHook(source_path)[source]

Bases: object

An object that allows for custom behaviour during releases.

A release hook provides methods that you implement to inject custom behaviour during parts of the release process. For example, the builtin ‘email’ hook sends a post-release email to a configured address.

classmethod name()[source]

Return name of source retriever, eg ‘git’

post_release(user, install_path, variants, release_message=None, changelog=None, previous_version=None, previous_revision=None, **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, release_message=None, changelog=None, previous_version=None, previous_revision=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, release_message=None, changelog=None, previous_version=None, previous_revision=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.

class rez.release_hook.ReleaseHookEvent(value, names=None, module=None, type=None)[source]

Bases: rez.vendor.enum.Enum

Enum to help manage release hooks.

rez.release_hook.create_release_hook(name, source_path)[source]

Return a new release hook of the given type.

rez.release_hook.create_release_hooks(names, source_path)[source]
rez.release_hook.get_release_hook_types()[source]

Returns the available release hook implementations.