问题描述
我正在尝试在依赖于 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 (将#修改为@)