aconfig: dump --filter: implement predicates
The aconfig dump command can now limit which flags to print by passing
in one or more --filter=<query> commands.
If multiple --filter arguments are provided, flags that match any filter
will be included in the output.
The <query> syntax is <what>:<value>, where <what> is the name of a
ProtoParsedFlag field. Multiple queries can be AND-ed together by
joining them with a plus ('+') character.
Example queries:
- --filter='is_exported:true' # only show exported flags
- --filter='permission:READ_ONLY+state:ENABLED' # only show flags that are read-only and enabled
- --filter='permission:READ_ONLY' --filter='state:ENABLED' # only show flags that are read-only or enabled (or both)
Current limitations that may be addressed in future CLs:
- No support to invert a query, e.g. "flags *not* in the following
namespace"
- No support to quote strings; this makes description matching
difficult
- No support to glob strings, only exact matches are considered
- No support to filter by description, trace or metadata fields
Bug: 315487153
Test: atest aconfig.test
Test: printflags --format="{fully_qualified_name}={state}" --filter=permission:READ_ONLY # manually verify output
Change-Id: Ie1e40fa444cec429e336048439da955f30e22979
Loading
Please register or sign in to comment