Bazel 查询除源文件之外的所有类型,即反向搜索
Bazel query on every kind but source files, ie inverted kind search
我是 运行 bazel deps
查询,输出配置为 --output label_kind
,发现大量源文件命中。是否有一种机制可以从结果中排除源文件,某种逆向搜索保留除源类型之外的所有类型?我在想像
bazel query "kind( ! source , deps(...))"
我对一个应用程序中使用的 label_kinds
进行了快速值计数制表,发现大部分 dep 只是源文件。
> bazel query "deps(//my_package/my_subpackage:my_target_app)" --output rankmin | awk '{print }' | sort | uniq -c | sort -nr
8634 source
20 cc_library
11 filegroup
3 config_setting
3 cc_binary
3 alias
1 sh_binary
1 py_binary
1 package
1 genrule
1 bind
实际上还有很多其他的自定义内部规则,所以我不能做一个明确的类型联合,因为我必须跟上回购协议的增加。
有点冗长,但您可以这样做(为了便于阅读,分成多行):
bazel query 'deps(//my_package/my_subpackage:my_target_app)
except kind("source file", deps(//my_package/my_subpackage:my_target_app))'
--output rankmin
查询函数 deps()
和 kind()
return 目标集,所以这里我们几乎从完整的依赖集中减去包含 [= 类型依赖项的集合17=]"source file".
我是 运行 bazel deps
查询,输出配置为 --output label_kind
,发现大量源文件命中。是否有一种机制可以从结果中排除源文件,某种逆向搜索保留除源类型之外的所有类型?我在想像
bazel query "kind( ! source , deps(...))"
我对一个应用程序中使用的 label_kinds
进行了快速值计数制表,发现大部分 dep 只是源文件。
> bazel query "deps(//my_package/my_subpackage:my_target_app)" --output rankmin | awk '{print }' | sort | uniq -c | sort -nr
8634 source
20 cc_library
11 filegroup
3 config_setting
3 cc_binary
3 alias
1 sh_binary
1 py_binary
1 package
1 genrule
1 bind
实际上还有很多其他的自定义内部规则,所以我不能做一个明确的类型联合,因为我必须跟上回购协议的增加。
有点冗长,但您可以这样做(为了便于阅读,分成多行):
bazel query 'deps(//my_package/my_subpackage:my_target_app)
except kind("source file", deps(//my_package/my_subpackage:my_target_app))'
--output rankmin
查询函数 deps()
和 kind()
return 目标集,所以这里我们几乎从完整的依赖集中减去包含 [= 类型依赖项的集合17=]"source file".