如何解决Bazel 构建 - go:generate stringer“stringer:不可能发生:常量不是整数”
我正在尝试在依赖于 on a go file 的 Bazel 沙箱中创建一个自动生成的文件“txstatus_string.go”,它是使用以下 stringer 命令创建的:
go:generate stringer -type TxStatus
我正在使用这样的 bazel 规则:
genrule(
name = "gen-txstatus-stringer",srcs = [
"schemachange.go",],outs = ["txstatus_string.go"],cmd = """
GO_REL_PATH=`dirname $(location @go_sdk//:bin/go)`
GO_ABS_PATH=`cd $$GO_REL_PATH && pwd`
env PATH=$$GO_ABS_PATH HOME=$(GENDIR) \
$(location @org_golang_x_tools//cmd/stringer:stringer) -output=$@ \
-type=TxStatus $(location schemachange.go)
""",tools = [
"@go_sdk//:bin/go","@org_golang_x_tools//cmd/stringer",
)
但不确定为什么在这种情况下,由于“stringer:不能发生:constant 不是整数”而导致 stringer 失败,有人对如何处理或为什么会发生这种情况有更好的想法吗?
我已经使用通用的 stringer
规则创建了其他一些 stringer 文件,并且一切顺利。
如果你想更深入地了解代码,这是一个 opensource Github repo,你可以去检查一下 =)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。