我已经使用 生成了一些输出文件bazel build,但是每次需要访问输出时指定 bazel-bin 目录的路径有点繁琐。
在深度嵌套的bazel项目中,我不仅需要获取特定的存储库,/Users/username/repos/organisation/folder/folder/repo我还需要添加bazel-bin/folder1/folder2/folder3/folder4/binary_i_want. 我更愿意说$output/binary_i_want。Bazel 应该能够获取项目目录(因为它查找工作区文件),并找到bazel-bin,然后查找我所在的等效目录。这是因为我可能不会直接运行它,而是复制此文件使用 adb push 到 Android 设备。
这可能吗?谢谢
您可以用于$(bazel info bazel-bin)/binary_i_want此用途。
编辑:获取由规则生成的工件的完整路径有点复杂。使用的一种选择jq可能是:
$(bazel info workspace)/$(bazel aquery //:some_path --output jsonproto 2>/dev/null | jq -r ".artifacts[0].execPath")
(受到这个答案的启发:Bazel:How do you get the path to a generated file?)
| 归档时间: |
|
| 查看次数: |
5079 次 |
| 最近记录: |