From c3a3804678a0ebf6d05cf2ec9070178ccf766157 Mon Sep 17 00:00:00 2001 From: Googler Date: Fri, 17 Jan 2025 07:58:22 -0800 Subject: [PATCH] Add an example for how to select rules whose dict-type attribute has a particular key and value PiperOrigin-RevId: 716669606 Change-Id: I9dfa473901cbcc8c37f98acdc1b6d1d16e0388f9 --- site/en/query/language.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/site/en/query/language.md b/site/en/query/language.md index 0891ca7edcae45..c26b5ee05c1da4 100644 --- a/site/en/query/language.md +++ b/site/en/query/language.md @@ -940,6 +940,27 @@ attr("tags", "[\[ ]value[,\]]", deps(//foo)) This works because the character before `value` will be `[` or a space and the character after `value` will be a comma or `]`. +To select all rules among `//foo` dependencies with a particular `key` and +`value` in a dict-type attribute, use + +``` +attr("some_dict_attribute", "[\{ ]key=value[,\}]", deps(//foo)) +``` + +This would select `//foo` if `//foo` is defined as + +``` +some_rule( + name = "foo", + some_dict_attribute = { + "key": "value", + }, +) +``` + +This works because the character before `key=value` will be `{` or a space and +the character after `key=value` will be a comma or `}`. + ### Rule visibility filtering: visible {:#visible} ```