Many languages require building and using supplementary tools, like @io_bazel_rules_go's use of a builder tool. Is there guidance on the "right" way to author tools which are used by this rules-template, and hook them up to the ruleset? What about if mylang is not an appropriate language in which to author these tools?
In the past, I've written these tools as:
sh_binary()s, which doesn't work out of the box on Windows particularly well, and often depends on other system tools
py_binary()s, which don't work well in Bazel remote build scenarios, particularly when using python3 and third-party pip libraries
go_binary()s, which end up polluting my rulesets with external references to @io_bazel_rules_go
Many languages require building and using supplementary tools, like @io_bazel_rules_go's use of a builder tool. Is there guidance on the "right" way to author tools which are used by this rules-template, and hook them up to the ruleset? What about if mylang is not an appropriate language in which to author these tools?
In the past, I've written these tools as: