Notable Tools#
Tools built into repo_man#
Few tools come by default with repo_man. Since you can’t use repo_man without repo_man they are disabled by default. To enable them, add them to repo.toml
:
For example:
[repo_build_number]
enabled = true
repo upload#
Tool to publish repo tools. Most repo tools can be published by calling repo upload
.
repo update#
Tool to update your dependencies by modifying the deps/*xml
files to the latest versions (major/minor constraints can be specified).
This is a local only step. E.g. to update all tools run repo update repo_
.
repo build_number#
Tool to generate a standard build number. Used both locally and by CI.
repo publish#
Tool to publish archives (packages) and labels to packman remote.
repo packman#
A CLI shortcut to packman. E.g. repo packman list
is equivalent to tools/packman/packman list
.
Popular Tools#
repo build#
Example Usage: repo.bat build -r
or build.bat -r
Simply, this will build your project. In more detail, it will:
pull and link dependencies (via packman),
setup vscode (generate python stub files and all of the other plumbing needed to get good intellisense/code completion for vscode in your project, as well as with Kit, USD etc)
Generate license files
file copy and link
pip install
project generation
toolchain build call (which in the case of pure python is eally just creating some symlinks. This is equivalent to calling ./build.[.sh][.bat] from the root of the repo
repo docs#
Example usage: repo.bat docs
Builds documentation from the release build of your project.
Document your python code with Google Docstring, more info in: (http://nv/repo_docs)
repo package#
Example usage: repo.bat package -a
Prepares final package in _build/packages
.
It will build zip/7z artifacts which are passed between CI jobs. We don’t package kit inside to save space, instead we prepare special bat file pull_kit_sdk.bat
to pull it from packman before running tests.
repo test#
Example usage: repo.bat test --config debug
Very simple entry point for running your tests locally or on TC.
When you do a build, premake will generate bat/sh scripts that will run your tests, e,g tests-python-omni.kit.widget.collection.sh
. This is just starting up Kit, enabling the appropriate extensions, and running their test. repo test
is running those scripts, as defined in repo.toml
.
As well as running tests, it will look for particular patterns in the output (stdout/stderr) to fail on, and others to ignore (configurable).
To run tests on TC it uses --from-package
flag to unpack package and run tests in it. You can do that locally, by downloading TC artifact into _build/packages
and running with --from-package
.
repo source#
This allows you to link to local versions of packman dependencies.
repo format#
This will format C++ and Python code according to OV conventions (using black for Python). It can also verify formatting is correct.
repo ci#
Used to run TC entry points. Entry points are python scripts written for CI. Call like repo ci build
uses repo.toml
to find a script to call, in this examples build.py
in repo_kit_tools
.