Open mottosso opened 5 years ago
Gather as many existing scripts as possible.
Most if not all of these need rewriting to include support for Windows and remove assumptions on what exists in its current working directory, e.g. Maya and Nuke.
Stage 0 - No integration, no central repo
$ rez env installz -- install https://github.com/mottosso/rez-scoopz
Which is the equivalent of:
$ git clone https://github.com/mottosso/rez-scoopz
$ cd rez-scoopz
$ rez build --install
Stage 1 - No central repository
As a plug-in.
$ rez install https://github.com/mottosso/rez-scoopz
Stage 2 - Central Repository
$ rez install rez-scoopz
Like pipz
and scoopz
, we'll also want packages mentioned in requires = []
included in an install. I think for that, we could either let the user specify URLs as requirements, or let that wait till Stage 2 such that a name and version can get mapped to a URI.
It would be great having rez install
available per default with bleeding-rez, but we would still want to keep some form of connection to this project, so that it can get updated independently.
$ pip install bleeding-rez
$ rez install
# Running post-install script..
# Installing default packages:
# - platform-linux
# - arch-x86_64
# - os-centos-7
# - python-3.7
# - bleeding-rez-2.34.1
# - installz-1.0.0
# All done! Use rez install <name> to install any
# package from Rez's online package repository
$
And then, once there is a new version of installz
..
$ rez install installz --update
From here it'd work like pip
, capable of self-updating itself. With that, we could also get rid of rez bind --quickstart
.
This should also handle "wheels", that is pre-built binaries of Rez packages. The benefit are akin to pip install PySide2
and either getting the pre-built binary or having to build it yourself. Building it yourself requires all relevant compiler and compiler libraries, whereas a pre-built binary does not.
This means we'll need somewhere to host binaries, such as bintray or GitHub Packages
$ rez install python-3 hdf5 pyblish_base
This should fetch python-3
from Scoop, hdf5
from VcPkg and pyblish_base
from Pip. Where install
correlates requests with a "master index" of {package name: [repository]}
, whereby each package can have multiple sources. Normally, the first source is picked. Alternatively, if you wanted to e.g. pick physx-4
from Conan rather than VcPkg you could..
$ rez install physx-4 --source=conan
Entries into the index
may be added by plug-ins, like pipz
and scoopz
.
$ rez install pipz
# pipz index added
Whereby you can either call..
$ rez env pipz -- install pyblish_base-1.8.0
Or..
$ rez install pyblish_base-1.8.0
A Rez package repository.
Where packages reside as Git repositories on GitHub, like vcpkg.
Such as: