for bazel模板中的循环

时间:2018-03-03 03:18:16

标签: templates bazel

是否可以使用actions.expand_template()调用在bazel中的模板中执行for循环?

我希望能够传入一个字符串列表并迭代它们以生成代码。从示例中我可以看出,您只能提供一个扁平的dict对象并执行单个替换。

理想情况下,我的模板会有:

{% for k in keys %}
    {{ k }}
{% endfor %}

2 个答案:

答案 0 :(得分:0)

不,那是不可能的。您只能将字符串传递给expand_template(因此您需要在bzl文件中展平字典)。

答案 1 :(得分:0)

似乎不可能。但是你可以写一个python脚本,用jinja2来做复杂的模板渲染。使用shell脚本运行这个python脚本,最终得到输出文件。