spaces_add()
def spaces_add(name, version, add_link_to_workspace_root, visibility)Add the spaces binary to a workflow.
All workflows should include a copy of spaces so that the run
rules will continue to work reproducibly even if the system copy of spaces
is updated.
Example:
load("//@star/packages/star/spaces-cli.star", "spaces_add")
spaces_add("spaces0", "v0.14.4")Args
name: string: The name of the binaryversion: string: The version of the binaryadd_link_to_workspace_root: bool: Add a link to the binary in the workspace rootvisibility: Rule visibility. See visibility.star for more info.
spaces_add_devutils()
def spaces_add_devutils(name, spaces_version, devutils_version, system_paths, coreutils_functions, bat_paging, visibility) -> dictCreate a spaces devutils based workspace.
This will install devutils (coreutils and rust developer tools) into the sysroot to support basic utilities and developer tooling.
By default no built-in system tools are available on the path.
Args
name: string: The base name of the checkout rulespaces_version: string: The version of spaces to use in the isolated workspacedevutils_version: The version of devutils to use (e.g. “devutils-v0.1.2”)system_paths: The list of system paths to add to the environmentcoreutils_functions: list: The list of coreutils functions to install (default is all)bat_paging: string: Bat paging mode:never|always|auto.visibility: Rule visibility. See visibility.star for more info.
Returns
The rules added by this function (see rules_new())
spaces_add_star_formatter()
def spaces_add_star_formatter(name, configure_zed, deps, visibility)Add a formatter to the workspace for spaces.star files.
Args
name: string: The rule base nameconfigure_zed: bool: Whether to configure zed to use the formatterdeps: list: Dependencies for the rule (chmod needed by buildifier)visibility: Rule visibility. See visibility.star for more info.
spaces_isolate_workspace()
def spaces_isolate_workspace(name, version, system_paths, coreutils_version, coreutils_functions, visibility)Isolate the workspace by omitting all system paths from the environment.
This will install coreutils and other tools into the sysroot to support basic utilities.
By default no built-in system tools are available on the path.
Args
name: string: The base name of the checkout ruleversion: string: The version of spaces to use in the isolated workspacesystem_paths: The list of system paths to add to the environmentcoreutils_version: string: The version of coreutils to use in the isolated workspacecoreutils_functions: list: The list of coreutils functions to install (default is all)visibility: Rule visibility. See visibility.star for more info.