Rez

From wikinotes

Rez is a tool that oversees dependency-management, compilation, build-variations, and distribution of code. It allows for variances like:

  • building packages for various languages (using make/cmake)
  • resolving dependencies for internal/external packages, software versions
  • Build Variants (build a version of N for maya2015,python2.7.6, and maya2018,python2.7.11)
  • composing environments for building/running software

Documentation

github-pages (deprecated, but complete) http://nerdvegas.github.io/rez/
github-wiki (current, incomplete) https://github.com/nerdvegas/rez/wiki
google-group for rez users https://groups.google.com/forum/#!forum/rez-config
rez recipes/examples https://github.com/nerdvegas/rez-recipes


Install

rez install: windows
rez install: linux

Usage

Bind Installed Software

rez-bind --quickstart  # auto-bind all rez-provided software
rez-bind  python       # bind a specific software package

Build/Release Package

cd /path/to/your/src
rez-build     # test a local build
rez-build -i  # build, install to your local packages

rez-release   # build all variants, release to releases dir (presumably shared).

Boot Environment

rez-env {yourpkg} {yourpkg2}   # resolve an environment with both packages
rez-env --time  12345          # resolve an environment as if it was a time (seconds since epoch)

Concepts

Troubleshooting

See rez troubleshooting.