| "Public API for expand template" |
| |
| load("@bazel_skylib//lib:types.bzl", "types") |
| load("@bazel_skylib//rules:write_file.bzl", "write_file") |
| load("//lib/private:expand_template.bzl", _expand_template = "expand_template") |
| |
| expand_template_rule = _expand_template |
| |
| def expand_template(name, template, **kwargs): |
| """Wrapper macro for `expand_template_rule`. |
| |
| Args: |
| name: name of resulting rule |
| template: the label of a template file, or a list of strings |
| which are lines representing the content of the template. |
| **kwargs: other named parameters to `expand_template_rule`. |
| """ |
| if types.is_list(template): |
| write_target = "_{}.tmpl".format(name) |
| write_file( |
| name = write_target, |
| out = "{}.txt".format(write_target), |
| content = template, |
| ) |
| template = write_target |
| |
| _expand_template( |
| name = name, |
| template = template, |
| **kwargs |
| ) |