TemplateDict

Report an issue View source

An Args-like structure for use in ctx.actions.expand_template(), which allows for deferring evaluation of values till the execution phase.

Members

add

TemplateDict TemplateDict.add(key, value)

Add a String value

Parameters

Parameter Description
key required
A String key
value required
A String value

add_joined

TemplateDict TemplateDict.add_joined(key, values, *, join_with, map_each, uniquify=False, format_joined=None, allow_closure=False)

Add depset of values

Parameters

Parameter Description
key required
A String key
values depset; required
The depset whose items will be joined.
join_with required
A delimiter string used to join together the strings obtained from applying map_each, in the same manner as string.join().
map_each callable; required
A Starlark function accepting a single argument and returning either a string, None, or a list of strings. This function is applied to each item of the depset specified in the values parameter
uniquify default is False
If true, duplicate strings derived from values will be omitted. Only the first occurrence of each string will remain. Usually this feature is not needed because depsets already omit duplicates, but it can be useful if map_each emits the same string for multiple items.
format_joined string; or None; default is None
An optional format string pattern applied to the joined string. The format string must have exactly one '%s' placeholder.
allow_closure default is False
If true, allows the use of closures in function parameters like map_each. Usually this isn't necessary and it risks retaining large analysis-phase data structures into the execution phase.