Reads and executes Roboleaf product configuration files.
rbcrun options VAR=value... [ file ]
A Roboleaf configuration file is a Starlark script. Usually it is read from file. The option -c allows to provide a script directly on the command line. The option -f is there to allow the name of a file script to contain (=). (i.e., my=file.rbc sets my to file.rbc, -f my=file.rbc runs the script from my=file.rbc).
-d dir
Root directory for load("//path",...)
-c text
Read script from text
--perf file
Gather performance statistics and save it to file. Use go tool prof -topfile
to show top CPU users
-f file
File to run.
The runner allows Starlark scripts to use the following features that Bazel's Starlark interpreter does not support:
Starlark does not define the format of the load statement's first argument. The Roboleaf configuration interpreter supports the format that Bazel uses (":file" or "//path:file"). In addition, it allows the URI to end with "|symbol" which defines a single variable symbol with None value if a module does not exist. Thus,
load(":mymodule.rbc|init", mymodule_init="init")
will load the module mymodule.rbc and export a symbol init in it as mymodule_init if mymodule.rbc exists. If mymodule.rbc is missing, mymodule_init will be set to None
A struct containing environment variables. E.g., rblf_env.USER is the username when running on Unix.
A struct containing the variable set by the interpreter's command line. That is, running
rbcrun FOO=bar myfile.rbc
will have the value of rblf_cli.FOO be "bar"
Returns True if file exists
Returns all the paths under top whose basename matches pattern (which is a shell's glob pattern). If only_files is not zero, only the paths to the regular files are returned. The returned paths are relative to top.
Expands glob. If top is supplied, expands "top/glob", then removes "top/" prefix from the matching file names.
Returns True if text matches pattern.
Runs sh -c "command", reads its output, converts all newlines into spaces, chops trailing newline returns this string. This is equivalent to Make's shell builtin function. This function will be eventually removed.
Same as print builtin but writes to stderr.