Buck query - Cheat Sheet

Q: How do I find the existing targets in a package?

buck query "//path/to/dir/..."

buck query supports build target patterns. By specifying just a build target pattern, the output will be the evaluation of this pattern, showing the build targets that match it.

Q: How do I get the content in the attributes of the targets resulting from a query?

buck query "deps(//foo:bar)" --output-attributes 'name' 'exported_headers'

The --output-attributes flag changes the output format. Instead of outputting the names of the targets that match the query expression, the output is composed by the specified attributes. Attributes are regular expressions (e.g. '.*' matches all attributes). See the buck query page for more details. Example:

  "//foo/bar/lib:lib" : {
    "exported_headers" : [ "App/util.h" ],
    "name" : "lib"
  "//foo/bar:app" : {
    "exported_headers" : [ "App/lib.h" ],
    "name" : "app"

Q: How do I find the dependencies of a target?

buck query "deps('//foo:bar')"
buck query "deps('//foo:bar', 1)"
buck query "deps(set('//foo:bar' '//foo:lib' '//foo/baz:util'))"

The deps operator finds the dependencies of the given targets. The first argument represents the targets we are interested in. This can be a single target, a set of targets or a build target patterns.

The optional second argument is the depth of the search for dependencies from the given targets. If absent, the output will be all the transitive dependencies, whereas 1 gives only the direct dependencies.

当前网页内容, 由 大妈 ZoomQuiet 使用工具: ScrapBook :: Firefox Extension 人工从互联网中收集并分享;
若有不妥, 欢迎评注提醒:


订阅 substack 体验古早写作:

点击注册~> 获得 100$ 体验券: DigitalOcean Referral Badge

关注公众号, 持续获得相关各种嗯哼:


关于 ~ DebugUself with DAMA ;-)
公安备案号: 44049002000656 ...::