是否可以将 WORKSPACE 文件拆分为多个文件?

Héc*_*tor 2 separation-of-concerns bazel

我有一个包含WORKSPACE许多包的 Bazel 项目。WORKSPACE文件非常大,所以我想知道是否可以将其分解为单独的文件并导入它们。

Jin*_*Jin 8

您可以将部分提取WORKSPACE.bzl文件中,并将load()这些变量和函数的符号提取到WORKSPACE.

load("//foo/bar:file.bzl", "function_for_workspace")
function_for_workspace()
Run Code Online (Sandbox Code Playgroud)

有关Loading an extension更多信息,请参阅。

  • 有这方面的例子吗?我不知道如何让“load”和“http_archive”调用发挥良好作用,因为“load”语句必须首先出现,但如果在“http_archive”之前运行则无法解析。 (2认同)