def _workspace_root_impl(ctx):
"""Dynamically determine the workspace root from the current context.
The path is made available as a `WORKSPACE_ROOT` environmment variable and
may for instance be consumed in the `toolchains` attributes for `cc_library`
and `genrule` targets.
"""
return [
platform_common.TemplateVariableInfo({
"WORKSPACE_ROOT": ctx.label.workspace_root,
}),
]
workspace_root = rule(
implementation = _workspace_root_impl,
attrs = {},
)