bazelisk icon indicating copy to clipboard operation
bazelisk copied to clipboard

Keep just one version of bazelisk

Open dslomov opened this issue 5 years ago • 7 comments

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?)

dslomov avatar May 29 '19 06:05 dslomov

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. :)

jbduncan avatar May 29 '19 17:05 jbduncan

$ go build github.com/bazelbuild/bazelisk && bazelisk build ... is a really nice user experience.

jin avatar May 29 '19 18:05 jin

Ah cool! I suppose it goes to show how little experience I have with Go. :wink:

jbduncan avatar May 29 '19 20:05 jbduncan

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.

keith avatar May 29 '19 20:05 keith

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. :)

jbduncan avatar May 29 '19 21:05 jbduncan

See also #84

jeremyschlatter avatar Jun 03 '20 20:06 jeremyschlatter

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.

TheButlah avatar Jun 17 '20 16:06 TheButlah