Skip to main content

LazyCqueryContext

LazyCqueryContext.eval

def LazyCqueryContext.eval(
query: str,
/,
*,
query_args: None | target_set | list[str] = None,
target_universe: None | list[str] | tuple[str, ...] = None,
) -> bxl.Lazy

Evaluates some general query string. query_args can be a target_set of unconfigured nodes, or a list of strings. Returns a dict of target labels mapped to their target_set results if query_args was passed in, otherwise returns a single target_set.

Sample usage:

def _impl_eval(ctx):
    result1 = ctx.lazy.cquery().eval("inputs(root//bin:the_binary)").resolve()
    ctx.output.print(result1)

    result2 = ctx.lazy.cquery().eval("inputs(%s)", query_args = ["cell//path/to/file:target"]).resolve()
    ctx.output.print(result2)