在Bazel中将args传递给_binary规则的模式?

时间:2017-12-24 02:45:16

标签: bazel

我有一个宏go_server,可以调用go_binary等。这是一个使用它的例子:

go_server(
    name = "service",
    library = ":go_default_library",  # go_binary
    args = [
        "--respPrefix", "OH HAI",
        "--port", "4040",
    ],
)

问题:

  • 上面的args有错误:OH HAI应该被转义,否则它会作为两个单独的参数传递给shell。我发现"'OH HAI'"有效,但是有更好的方法吗 - 比如像strings.shell_escape("OH HAI")这样的函数吗?
  • 您是否可以指出一个具有复杂args的bazel规则的示例开源代码实例化?我正在寻找与字典,字符串转义等相关的模式。或者我应该使用像jsonnet之类的东西来管理我的args?

谢谢!

1 个答案:

答案 0 :(得分:0)

我不知道有什么方法可以逃脱。为了保持字符串相同,它会

"--respPrefix", "\"OH HAI\"",