从哪里获取已知存储库的列表,如@bazel_tools、@rules_jvm_external 等?
Where to get list of known repositories like @bazel_tools, @rules_jvm_external etc?
有时我会看到从 Internet 加载的扩展程序或内置的扩展程序。
典型示例:
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
但是,我无法通过查看 load
表达式来区分本地 repo 和已知 repo。
如何检查我在 WORKSPACE/BUILD 文件中看到的任何回购的来源(位置)?
如果 Bazel 标签足以作为来源,您可以尝试使用 bazel query 'buildfiles(//...)'
.
的 BUILD 文件获取 repo roots
否则,您可以 运行 bazel clean --expunge
和 运行 使用 --experimental_execution_log_file=<FILENAME>
构建。这将创建一个基于 protobuf 的 Bazel 操作日志。在那里,由于 clean --expunge
.
所有互联网回购都被重新下载
检查 https://github.com/bazelbuild/bazel/tree/master/src/tools/execlog 解析器。
非常不便的是,此信息无法通过其他方式获得 - afaik。我真的希望有人路过并纠正我,但这样你至少知道你可以关联的可用资源。
我是 Bazel 的新手,但据我了解:
- 复制存储库的名称。例如。
io_bazel_rules_docker
- 通过代码库搜索
- 看看它是如何加载的
例如如果你看到
http_archive(
name = "io_bazel_rules_docker",
...
)
http_file(
name = "io_bazel_rules_docker",
...
)
你可以断定它的来源。
bazel query --output=build //external:repo_name
工作正常。
有时我会看到从 Internet 加载的扩展程序或内置的扩展程序。 典型示例:
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
但是,我无法通过查看 load
表达式来区分本地 repo 和已知 repo。
如何检查我在 WORKSPACE/BUILD 文件中看到的任何回购的来源(位置)?
如果 Bazel 标签足以作为来源,您可以尝试使用 bazel query 'buildfiles(//...)'
.
否则,您可以 运行 bazel clean --expunge
和 运行 使用 --experimental_execution_log_file=<FILENAME>
构建。这将创建一个基于 protobuf 的 Bazel 操作日志。在那里,由于 clean --expunge
.
检查 https://github.com/bazelbuild/bazel/tree/master/src/tools/execlog 解析器。
非常不便的是,此信息无法通过其他方式获得 - afaik。我真的希望有人路过并纠正我,但这样你至少知道你可以关联的可用资源。
我是 Bazel 的新手,但据我了解:
- 复制存储库的名称。例如。
io_bazel_rules_docker
- 通过代码库搜索
- 看看它是如何加载的
例如如果你看到
http_archive(
name = "io_bazel_rules_docker",
...
)
http_file(
name = "io_bazel_rules_docker",
...
)
你可以断定它的来源。
bazel query --output=build //external:repo_name
工作正常。