我正在尝试将版本传递到我的 BUILD.bazel 文件,以便我可以覆盖主文件中的变量,以便我可以打印它,但它不起作用。
go_binary(
name = "api",
embed = [":api_lib"],
visibility = ["//visibility:public"],
x_defs = {"main.Version": "$(Version)"},
)
在我的make文件中我这样做
@bazelisk build --define Version=1.9 //...
当我运行我的应用程序时,它会在版本中打印 $(Version) 而不是 1.9
看起来
x_defs
并没有进行变量替换,文档中没有提到:
https://github.com/bazelbuild/rules_go/blob/master/docs/go/core/rules.md#go_binary-x_defs
这是 go 规则需要添加支持的事情。
按照这些文档,看起来
x_defs
将与构建冲压一起使用:
所以你可以尝试类似
x_defs = {"main.Version": "{STABLE_Version}"},
与 --workspace_status_command="echo STABLE_Version 0.9"