如何使用bazel查询确定目标的绝对路径?
问题: 是否有任何方法可以使用如何使用bazel查询确定目标的绝对路径?,bazel,Bazel,问题: 是否有任何方法可以使用bazel query或aspects来识别bazel在包路径的何处拾取包?类似于which命令的内容 文档建议使用——show_package_location。但是,已弃用且不再受支持的,请参阅。此外,我尝试使用它并没有发现多少有用的信息。我尝试了bazel查询//some/target/--输出标签\u种类-显示\u包\u位置以及使用bazel build的其他排列,并且它不会向控制台输出添加任何不同的输出 动机 在我的包路径上有两个不同的目录用于获取、查询和
bazel query
或aspects
来识别bazel在包路径的何处拾取包?类似于which
命令的内容
文档建议使用——show_package_location
。但是,已弃用且不再受支持的,请参阅。此外,我尝试使用它并没有发现多少有用的信息。我尝试了bazel查询//some/target/--输出标签\u种类-显示\u包\u位置
以及使用bazel build
的其他排列,并且它不会向控制台输出添加任何不同的输出
动机
在我的包路径上有两个不同的目录用于获取、查询和构建
--包路径=%workspace%:%workspace%/\uuuu保险丝
此配置支持这样一种工作流,即用户对我们的大型存储库执行稀疏签出,同时仍然能够生成尚未在本地签出的代码。构建目标时,Bazel会检查包的本地签出版本,如果不存在,它会搜索只读保险丝安装
有时,用户不清楚从何处获取软件包,即是本地签出的版本还是fuse提供的版本。当他们删除或移动Bazel软件包,并且Bazel在保险丝座上拾取版本时,这就成了问题
如果我能给他们指出一个命令,将每个包映射到它被提取的地方,那就太好了。例如,如果我在上运行命令
//some/package/foo --> package_path/some/package/foo
//some/package/bar --> other_package_path/some/package/bar
我在bazel查询文档中完全忽略了这一点 对于bazel查询,我只需要添加
--输出位置
,因此,假设我进行如下查询:
bazel query //some/package/... --output location
然后将输出bazel查询
/absolute/path/some/package/BUILD:lineno:colno target_kind label
对于//some/package/…