rules_proto
rules_proto copied to clipboard
`proto_common.compile` breaks non-`.exe` Windows plugins
When using proto_common.compile on a Windows host the resulting path passed to plugin_format_flag uses forward slashes. This is fine for .exe, but it breaks for .bat plugins. It seems that because .exe plugins don't use the cmd.exe wrapper Windows can handle them just fine, but plugins with .bat (eg. a js_binary from rules_js) break with an error like 'bazel-out' is not recognized as an internal or external command, operable program or batch file.
Ideally either proto_common.compile or protoc itself would rewrite the plugin path with backslashes as described in https://bazel.build/rules/windows#paths when running on Windows.
cc @Yannic