rez.build_process#
- rez.build_process.get_build_process_types()#
Returns the available build process implementations.
- rez.build_process.create_build_process(process_type, working_dir, build_system, package=None, vcs=None, ensure_latest=True, skip_repo_errors=False, ignore_existing_tag=False, verbose=False, quiet=False)#
Create a
BuildProcess
instance.Warning
The working_dir argument and the pacakge keyword argument will are deprecated and will be removed in rez 3.0.0
- class rez.build_process.BuildType#
Bases:
Enum
Enum to represent the type of build.
- local = 0#
- central = 1#
- class rez.build_process.BuildProcess#
Bases:
object
A BuildProcess builds and possibly releases a package.
A build process iterates over the variants of a package, creates the correct build environment for each variant, builds that variant using a build system (or possibly creates a script so the user can do that independently), and then possibly releases the package with the nominated VCS. This is an abstract base class, you should use a BuildProcess subclass.
- classmethod name()#
- __init__(working_dir, build_system, package=None, vcs=None, ensure_latest=True, skip_repo_errors=False, ignore_existing_tag=False, verbose=False, quiet=False)#
Create a BuildProcess.
- Parameters:
working_dir (DEPRECATED) – Will be removed in rez 3.0.0.
build_system (BuildSystem) – Build system used to build the package.
package (DEPRECATED) – Will be removed in rez 3.0.0.
vcs (ReleaseVCS) – Version control system to use for the release process.
ensure_latest – If True, do not allow the release process to occur if an newer versioned package is already released.
skip_repo_errors – If True, proceed with the release even when errors occur. BE CAREFUL using this option, it is here in case a package needs to be released urgently even though there is some problem with reading or writing the repository.
ignore_existing_tag – Perform the release even if the repository is already tagged at the current version. If the config setting plugins.release_vcs.check_tag is False, this has no effect.
verbose (bool) – Verbose mode.
quiet (bool) – Quiet mode (overrides verbose).
- property package#
- property working_dir#
- build(install_path=None, clean=False, install=False, variants=None)#
Perform the build process.
Iterates over the package’s variants, resolves the environment for each, and runs the build system within each resolved environment.
- Parameters:
install_path (str) – The package repository path to install the package to, if installing. If None, defaults to config.local_packages_path.
clean (bool) – If True, clear any previous build first. Otherwise, rebuild over the top of a previous build.
install (bool) – If True, install the build.
variants (list of int) – Indexes of variants to build, all if None.
- Raises:
BuildError – If the build failed.
- Returns:
Number of variants successfully built.
- Return type:
- release(release_message=None, variants=None)#
Perform the release process.
Iterates over the package’s variants, building and installing each into the release path determined by config.release_packages_path.
- Parameters:
- Raises:
ReleaseError – If the release failed.
- Returns:
Number of variants successfully released.
- Return type:
- class rez.build_process.BuildProcessHelper#
Bases:
BuildProcess
A BuildProcess base class with some useful functionality.
- repo_operation()#
- visit_variants(func, variants=None, **kwargs)#
Iterate over variants and call a function on each.
- get_package_install_path(path)#
Return the installation path for a package (where its payload goes).
- Parameters:
path (str) – Package repository path.
- create_build_context(variant, build_type, build_path)#
Create a context to build the variant within.
- pre_release()#
- post_release(release_message=None)#
- get_current_tag_name()#
- run_hooks(hook_event, **kwargs)#
- get_previous_release()#
- get_release_data()#
Get release data for this release.
- Returns:
dict.
- __init__(working_dir, build_system, package=None, vcs=None, ensure_latest=True, skip_repo_errors=False, ignore_existing_tag=False, verbose=False, quiet=False)#
Create a BuildProcess.
- Parameters:
working_dir (DEPRECATED) – Will be removed in rez 3.0.0.
build_system (BuildSystem) – Build system used to build the package.
package (DEPRECATED) – Will be removed in rez 3.0.0.
vcs (ReleaseVCS) – Version control system to use for the release process.
ensure_latest – If True, do not allow the release process to occur if an newer versioned package is already released.
skip_repo_errors – If True, proceed with the release even when errors occur. BE CAREFUL using this option, it is here in case a package needs to be released urgently even though there is some problem with reading or writing the repository.
ignore_existing_tag – Perform the release even if the repository is already tagged at the current version. If the config setting plugins.release_vcs.check_tag is False, this has no effect.
verbose (bool) – Verbose mode.
quiet (bool) – Quiet mode (overrides verbose).
- build(install_path=None, clean=False, install=False, variants=None)#
Perform the build process.
Iterates over the package’s variants, resolves the environment for each, and runs the build system within each resolved environment.
- Parameters:
install_path (str) – The package repository path to install the package to, if installing. If None, defaults to config.local_packages_path.
clean (bool) – If True, clear any previous build first. Otherwise, rebuild over the top of a previous build.
install (bool) – If True, install the build.
variants (list of int) – Indexes of variants to build, all if None.
- Raises:
BuildError – If the build failed.
- Returns:
Number of variants successfully built.
- Return type:
- classmethod name()#
- property package#
- release(release_message=None, variants=None)#
Perform the release process.
Iterates over the package’s variants, building and installing each into the release path determined by config.release_packages_path.
- Parameters:
- Raises:
ReleaseError – If the release failed.
- Returns:
Number of variants successfully released.
- Return type:
- property working_dir#