Description
Goals
- Able to call
rez deliver
andrez-deliver
in command-line - Configurable with
rezconfig.plugins
Why ?
- Able to store and manage
rez-deliver
configurations inrezconfig
- Align with Rez command-line interface
- Simplify environment setup for accessing
rez-deliver
, manage them all as one concept (rez bin tools)
Breakdown
The tool will have these components :
- Main module, the tool module itself.
- Rez application type plugin, for registering configurations, PR required.
- Rez
cli
submodule, for setting up command-line parser.
And the tool can be installed via :
rezconfig.plugin_path
, orsetup.py
Rez plugin can be registered and found via rezconfig.plugin_path
. But we cannot generate binary for it, even we do, if the plugin somehow gets excluded from rezconfig.plugin_path
afterward, previously generated binary will remain accessible but possible out of function. Which is not ideal.
On the other hand with setup.py
, we could pip install
tool as like namespace package under rez
and rezplugins
, with binary generated. And with pip uninstall
, all installed files can be removed entirely. Which is great !
So maybe we could register tool with rezconfig.plugin_path
while developing, and use setup.py
when released.
Update :
Registering tool withrezconfig.plugin_path
may not work if the plugin requires it's main module.
TODO
- Construct package layout
- Add
application
type plugin in Rez - Enable registering Rez sub-command from
rezconfig.plugins