WORKSPACE.rbs
The workspace file configures project-wide settings, toolchains, and external dependencies.config_setting
Define workspace-level configuration values:
load
Import rules and functions from RBS SDKs or other .rbs files:
print
Output messages during workspace evaluation:
BUILD.rbs
Build files define targets within a package.native.task
The most basic target — runs a shell command:
native.filegroup
Group files together for use as dependencies:
native.genrule
General-purpose rule for custom build steps with file operations:
Built-in variables
| Variable | Type | Description |
|---|---|---|
platform.name | string | Current platform (e.g., darwin-arm64) |
platform.os | string | Operating system (e.g., darwin, linux) |
platform.arch | string | Architecture (e.g., arm64, amd64) |
output_path.bin | string | Binary output directory |
output_path.out | string | General output directory |
output_path.testlogs | string | Test logs directory |
Built-in functions
glob(patterns, exclude=[])
Match files using glob patterns:
select(conditions)
Choose values based on platform or configuration:
Language features
Variables and expressions
Conditionals
Loops
List comprehensions
Functions
External dependencies
Declaring dependencies in WORKSPACE.rbs
Using dependencies in BUILD.rbs
Toolchains
Register language toolchains inWORKSPACE.rbs: