Source code for rez.utils.installer

# SPDX-License-Identifier: Apache-2.0
# Copyright Contributors to the Rez Project


from __future__ import print_function

import rez
from rez.package_maker import make_package
from rez.system import system
import os.path
import sys
import shutil


[docs]def install_as_rez_package(repo_path): """Install the current rez installation as a rez package. Note: This is very similar to 'rez-bind rez', however rez-bind is intended for deprecation. Rez itself is a special case. Args: repo_path (str): Repository to install the rez package into. """ def commands(): env.PYTHONPATH.append('{this.root}') # noqa def make_root(variant, root): # copy source rez_path = rez.__path__[0] site_path = os.path.dirname(rez_path) rezplugins_path = os.path.join(site_path, "rezplugins") shutil.copytree(rez_path, os.path.join(root, "rez")) shutil.copytree(rezplugins_path, os.path.join(root, "rezplugins")) variant = system.variant variant.append("python-{0.major}.{0.minor}".format(sys.version_info)) with make_package("rez", repo_path, make_root=make_root) as pkg: pkg.version = rez.__version__ pkg.commands = commands pkg.variants = [variant] print('') print("Success! Rez was installed to %s/rez/%s" % (repo_path, rez.__version__))