WORKSPACE 文件

报告问题 Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

WORKSPACE 文件中可用的方法。

成员

绑定

None bind(name, actual=None)

已弃用:如需详细了解其问题和替代方案,请参阅考虑移除 bindbind() 在 Bzlmod 中不可用。

//external 软件包中的目标指定别名。

参数

参数 说明
name 字符串; 必需
'//external' 下的标签,用作别名
actual string;或 None; 默认值为 None
要别名的真实标签

register_execution_platforms

None register_execution_platforms(*platform_labels)

指定要注册的已定义的执行平台。应该是绝对目标模式(即以 @// 开头)。如需了解详情,请参阅工具链解析。扩展为多个目标的模式(例如 :all)将按名称的字典顺序注册。

参数

参数 说明
platform_labels 字符串序列;必需
要注册的目标模式。

register_toolchains

None register_toolchains(*toolchain_labels)

指定要注册的已定义的工具链。应该是绝对目标模式(即以 @// 开头)。如需了解详情,请参阅工具链解析。扩展为多个目标的模式(例如 :all)将按目标名称(而非工具链实现名称)以字典顺序注册。

参数

参数 说明
toolchain_labels 字符串序列;必需
要注册的目标模式。

工作区

None workspace(name)

此函数只能在 WORKSPACE 文件中使用,并且必须在 WORKSPACE 文件中的所有其他函数之前声明。每个 WORKSPACE 文件都应有一个 workspace 函数。

为相应工作区设置名称。工作区名称应采用 Java 软件包风格的项目说明,使用下划线作为分隔符,例如 github.com/bazelbuild/bazel 应使用 com_github_bazelbuild_bazel。

此名称用于存储代码库运行时文件的目录。例如,如果本地代码库中有一个 runfile foo/bar,并且 WORKSPACE 文件包含 workspace(name = 'baz'),则该 runfile 将在 mytarget.runfiles/baz/foo/bar 下可用。如果未指定工作区名称,则 runfile 将符号链接到 bar.runfiles/foo/bar

远程代码库规则名称必须是有效的工作区名称。例如,您可以有 maven_jar(name = 'foo'),但不能有 maven_jar(name = 'foo%bar'),因为 Bazel 会尝试为包含 workspace(name = 'foo%bar')maven_jar 写入 WORKSPACE 文件。

参数

参数 说明
name string; 必需
工作区的名称。名称必须以字母开头,并且只能包含字母、数字、下划线、短划线和点。