Bazel:如何创建在 linux 上使用 cmd 和在 windows 上使用 cmd_bat 的 genrule?

Bazel: how to create genrule that uses cmd on linux and cmd_bat on windows?

我想在 Windows 上制定不依赖于 Bash 的 Bazel 规则。

我看到在 genrule 中,您可以使用 cmd_bat 而不是 cmd(需要 bash)。但是我如何定义规则以便有一个 cmd 属性和一个 cmd_bat 属性,并且在 Windows 上仅使用 cmd_bat 而在其他任何地方都使用 cmd?

在 Bazel 3.2.0 中 cmd_bat 仅考虑 Windows。在其他 OS 中,它被简单地忽略了。 cmd_bat 的优先级高于 cmd