Git Product home page Git Product logo

rez's Introduction

##########################################################################################
# INFO
##########################################################################################

Rez:
A set of tools for resolving environment configurations and building projects within
these environments. Rez searches for 'packages' (pieces of software) in the colon-delimited
env-var '$REZ_PACKAGES_PATH'. With rez you can request a set of packages, and it will
return you all the packages that you need, or an equivalent configured environment. Rez has
a resolution algorithm that avoids package version clashes.

Original Author:
Allan Johns, 2010
[email protected]
Dr D Studios, Sydney, Australia

Forked and Modified by:
Morné Chamberlain, 2012
[email protected]
BlackGinger, Cape Town, South Africa

Rez has been tested on Linux Centos5, and to a lesser extent on OSX. Rez is not supported
on Windows (yet), but volunteers are welcome!

rez requires:
bash
cmake (2.8 or greater)
a C++ compiler (it will use cmake to detect one)
python (2.5 or greater)
pyyaml (tested with 3.9.0)
pydot (tested with 1.0.2)
pyparsing (tested with 1.5.1)

rez-release requires:
svn (tested with svn client 1.6.6)
pysvn (tested with 1.7.2)

rez-release-git requires:
git (tested with 1.7.2.3)
GitPython (tested with 0.3.2-RC1)

##########################################################################################
# INSTALLATION
##########################################################################################

Open the configure.sh script first, and edit the relevant entries in the "EDIT HERE" section.
This points rez at various paths (for example, python paths for pyyaml etc). It will attempt
to autodetect what it can, but you'll probably need to set these to something (and you HAVE
to set the first entry to something).

After editing configure.sh and running it successfully, run install.sh, specifying the
install location. Rez will be installed at that path, plus a version directory. Rez's
version is determined by the contents of the version.sh file.

Rez will automatically build you a number of key packages - one representing the operating
system; one for cmake; one for python; one for a C++ compiler, and one example hello_world
package. Some of these may not be exactly what you want, it's up to you to create and use
your own packages instead.


##########################################################################################
# RUNNING REZ
##########################################################################################

Once installed, you need to initialize the rez system by sourcing its init.sh file, which
has been installed alongside all the other rez source. It's typical to do this in a
startup script (eg ~/.bashrc), so that rez is always available to users.

You can test the system by running the demo (./examples/demo/run_demo.sh), but you do need
to configure rez first, as explained above. The demo creates its own rez microcosm, setting
a local packages path, and building and installing a set of test packages into it.

There are further READMEs scattered through the distribution, refer to them for more info.


##########################################################################################
# DOCUMENTATION
##########################################################################################

There are a lot of docs in the docs/ subdir, including the technical user manual. You
should read this sooner rather than later to like, learn things and stuff.

There are Rez tutorial videos available also, at the time of writing they're probably on
Vimeo or Youtube, and there may be a zipped download available from the same place you got
this Rez thing from.

When building packages you'll need to know about rez's cmake macros. All rez's supporting
cmake code can be found in the cmake/ subdir, and every source file contains a block
comment at the top detailing its use.

The vast majority of rez's command-line utilities will show a fair bit of help like so:
rez-config -h


Happy Rezzing!














rez's People

Contributors

mchamberlain avatar nerdvegas avatar

Stargazers

 avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.