You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询Bazel中特定目标可访问的目标列表?

查询Bazel目标可访问的所有目标方法

完全可行,你可以通过Bazel的查询语言直接筛选出//my:foo能依赖的所有目标,具体方法如下:

  • 基础查询命令
    使用visible查询函数,直接获取工作区内所有对//my:foo可见的目标:

    bazel query 'visible(//my:foo, //...)'
    

    其中//...代表工作区中的所有目标,visible(target, set)函数会返回set里所有允许target依赖的目标。

  • 过滤测试目标(可选)
    如果不需要包含测试类目标,可以追加过滤条件:

    bazel query 'visible(//my:foo, //...) - kind(".*test", //...)'
    
  • 补充说明可见性逻辑
    目标的可见性规则决定了是否能被//my:foo依赖:

    • 标记为//visibility:private的目标,仅同一package内的目标可访问;
    • 标记为//visibility:public的目标,所有目标都可访问;
    • 若目标指定了visibility = ["//my:__pkg__"]这类规则,则//my包下的所有目标(包括//my:foo)都能访问它。

内容的提问来源于stack exchange,提问作者Gunnar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 23:52:02