bazelisk
bazelisk copied to clipboard
Keep just one version of bazelisk
Currently we have both python and Go versions; looks like they are losing feature parity. Let's keep just one (I guess the Go version?)
I hope I'm not overstepping my boundaries, but if it were me, I'd be more inclined to keep the Python version, as I believe one could then more easily store Bazelisk in source control (similarly to Gradle Wrapper for Gradle) and it would take considerably less space than compiled Go binaries. But I'd love to be challenged on this. :)
$ go build github.com/bazelbuild/bazelisk && bazelisk build ...
is a really nice user experience.
Ah cool! I suppose it goes to show how little experience I have with Go. :wink:
I assume the go version will be the one to stick around, but FWIW I don't think the go build
solution should be recommended since we probably shouldn't assume that everyone will have a go environment setup. But at least curling the binary shouldn't be a large effort for installation.
But at least curling the binary shouldn't be a large effort for installation.
Sounds sensible to me! But I think it would be helpful if Bazelisk provided this script in a similar fashion to Gradle Wrapper (one script for *nix, another for Windows?), since for me at least it wasn't obvious that I could do this. :)
See also #84
I don't have the go toolchain installed, but the go version allows the ability to wget
a single binary to get up and running, whereas the python version requires having a properly configured and supported python toolchain. Especially when using bazelisk in environments like docker where the python toolchain might not exist (or is later in the dockerfile), the ability to just use a single binary file as a distribution mechanism is really good.
+1 for the go version being the canonical version, should bazelisk choose to consolidate the versions.