expand_template 使用 make 变量
expand_template with make variables
我有一个看似简单的任务却让我很为难:使用用户定义的变量扩展模板。
我有一个文件(模板),其中有一个我需要替换的变量:
$key_selection_color: @SELECTION_COLOR@;
我决定这样使用 expand_template
:
expand_template(
name = "key_colors",
out = "_key_colors.scss",
substitutions = {
"@SELECTION_COLOR@": "$(FOO)",
},
template = "_key_colors.scss.in",
)
但是,当我 运行 bazel build --define FOO=000000 //:key_colors
、$(FOO)
没有被替换时,我的 _key_colors.scss
文件变成:
$key_selection_color: $(FOO);
我做错了什么,我应该怎么做才能达到预期的效果?谢谢!
此规则的 bazel-skylib 实施不支持替换替换中的变量,同样它不支持扩展位置等(在撰写本文时)。它是 ctx.actions.expand_template
.
的一个非常轻的包装器
但是,aspect-build/bazel-lib implementation of expand_template
does support these substitutions. See the docs 了解更多信息。
我有一个看似简单的任务却让我很为难:使用用户定义的变量扩展模板。
我有一个文件(模板),其中有一个我需要替换的变量:
$key_selection_color: @SELECTION_COLOR@;
我决定这样使用 expand_template
:
expand_template(
name = "key_colors",
out = "_key_colors.scss",
substitutions = {
"@SELECTION_COLOR@": "$(FOO)",
},
template = "_key_colors.scss.in",
)
但是,当我 运行 bazel build --define FOO=000000 //:key_colors
、$(FOO)
没有被替换时,我的 _key_colors.scss
文件变成:
$key_selection_color: $(FOO);
我做错了什么,我应该怎么做才能达到预期的效果?谢谢!
此规则的 bazel-skylib 实施不支持替换替换中的变量,同样它不支持扩展位置等(在撰写本文时)。它是 ctx.actions.expand_template
.
但是,aspect-build/bazel-lib implementation of expand_template
does support these substitutions. See the docs 了解更多信息。