Bazel:如何获取输出二进制文件的路径?

时间:2018-07-11 18:53:31

标签: bazel

考虑somepath/BUILD文件:

load("@io_grpc_grpc_java//:java_grpc_library.bzl", "java_grpc_library")

proto_library(
    name = "bar_proto",
    srcs = ["bar.proto"],
)

java_proto_library(
    name = "bar_java_proto",
    deps = [":bar_proto"],
)

通过检查bazel-bin文件夹,我发现bazel-bin/somepath/libbar_proto-speed.jar

如何使用bazel查询从bazel-bin/somepath/libbar_proto-speed.jar中获取//somepath:bar_java_proto

1 个答案:

答案 0 :(得分:2)

你没有。

知道输出路径需要执行Bazel的加载和分析阶段,即(1)加载BUILD文件和(2)分析依赖关系以提出执行计划和具体的构建动作(称为“动作图”)。

Bazel查询仅运行加载阶段,而不运行分析阶段,因此它不了解输出路径。

Bazel cquery(“配置查询”)在分析阶段[1]之后运行,但据我所知它也无法返回输出路径。

[1] https://docs.bazel.build/versions/master/cquery.html