我可以使用 `bazel cquery` 来确定正在激活哪些 `config_setting` 规则吗?

Can I use `bazel cquery` to determine which `config_setting` rules are being activated?

我有一个依赖库似乎选择了错误 config_setting

为了进一步调试,我尝试使用 cquery 文档中的 config 函数,但 returns all 潜力config_settings。

具体来说,我尝试了 运行 以下方法: bazel cquery "config(deps(@openssl//:crypto), target)" --noimplicit_deps --bazelrc=build-scripts/windows/windows.bazelrc

它 return编辑:

@openssl//:crypto (aa65f203efeb0a68bcf0a0d51b3259145cb8e2c6bf209950206fe2bfb21381b5)
@local_config_cc//:cc-compiler-k8 (aa65f203efeb0a68bcf0a0d51b3259145cb8e2c6bf209950206fe2bfb21381b5)
@local_config_cc//:local (aa65f203efeb0a68bcf0a0d51b3259145cb8e2c6bf209950206fe2bfb21381b5)
@openssl//:windows_x86_64 (aa65f203efeb0a68bcf0a0d51b3259145cb8e2c6bf209950206fe2bfb21381b5)
@bazel_tools//tools/cpp:toolchain_type (aa65f203efeb0a68bcf0a0d51b3259145cb8e2c6bf209950206fe2bfb21381b5)
@openssl//:mac_x86_64 (aa65f203efeb0a68bcf0a0d51b3259145cb8e2c6bf209950206fe2bfb21381b5)
@openssl//:linux_ppc64le (aa65f203efeb0a68bcf0a0d51b3259145cb8e2c6bf209950206fe2bfb21381b5)
@openssl//:android (aa65f203efeb0a68bcf0a0d51b3259145cb8e2c6bf209950206fe2bfb21381b5)

确定 Bazel 如何选择 config_setting 的最佳方法是什么?是cquery吗?

我希望我的上述命令不会 return 任何与 mac、linux 和 android 配置设置相关的构建规则。只是 windows.

我发现满足我需求的最佳解决方案是对我感兴趣的目标执行 运行 cquery,然后检查配置的构建文件(cquery 中的 output=build) 查看 select 语句选择了哪些值。

如果可以选择在日志中看到某种 "config setting resolution" 进程,那就太好了。但这暂时完成了工作。