def add_pre_build_commands(cls, executor, variant, build_type, install, build_path, install_path=None): """Execute pre_build_commands if present. """ from rez.utils.data_utils import RO_AttrDictWrapper # bind build-related values into a 'build' namespace build_ns = { "build_type": build_type.name, "install": install, "build_path": build_path, "install_path": install_path } # execute pre_build_commands() pre_build_commands = getattr(variant, "pre_build_commands") if pre_build_commands: with executor.reset_globals(): executor.bind("this", variant) executor.bind("build", RO_AttrDictWrapper(build_ns)) executor.execute_code(pre_build_commands)
def _pre_test_commands(executor): # run package.py:pre_test_commands() if present pre_test_commands = getattr(variant, "pre_test_commands") if not pre_test_commands: return test_ns = {"name": test_name} with executor.reset_globals(): executor.bind("this", variant) executor.bind("test", RO_AttrDictWrapper(test_ns)) executor.execute_code(pre_test_commands)
def add_standard_build_actions(cls, executor, context, variant, build_type, install, build_path, install_path=None): """Perform build actions common to every build system. This includes: - Setting a standard list on env-vars; - Executing pre_build_commands(), if the package has one. """ from rez.utils.data_utils import RO_AttrDictWrapper # set env vars env_vars = cls.get_standard_vars(context=context, variant=variant, build_type=build_type, install=install, build_path=build_path, install_path=install_path) for var, value in env_vars.items(): executor.env[var] = value # bind build-related values into a 'build' namespace build_ns = { "build_type": build_type.name, "install": install, "build_path": build_path, "install_path": install_path } # execute pre_build_commands() pre_build_commands = getattr(variant, "pre_build_commands") if pre_build_commands: with executor.reset_globals(): executor.bind("this", variant) executor.bind("build", RO_AttrDictWrapper(build_ns)) executor.execute_code(pre_build_commands)