[英]How can I find all source files included in multiple bazel targets?
在我的代码库中,将相同的源文件包含在多个目标( cc_binary
, cc_library
等)中通常是一个错误。 我想检测一下。
我可以
bazel query labels(srcs, //target:name)
获取单个目标的来源列表。 通过对每个目标执行此操作并检测哪些源文件在多个目标中,就足以找出哪些源是多个目标的一部分。 但是我仍然需要查询以获取每个目标的列表。
如果我可以仅查询源文件所属的目标,并查看它是否是多个目标的源,那将更加容易/干净。 那可能吗?
另外,我有很多源文件,查询的最佳性也是一个问题。
一些澄清的问题:
foo/bar/src.c
仅对foo/bar/BUILD
定义的目标可见,然后确保foo/bar/BUILD
仅包含一个cc_library
目标。 考虑使用方面来获取给定目标的所有传递源文件的列表。
如果您确实bazel query
使用bazel query
,则可以通过调用获得项目下每个目标的全面列表,例如,
bazel query //...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.