Bazelisk is a user-friendly launcher for Bazel, designed to simplify the build process for developers and engineers. It acts as a wrapper written in Go that automatically selects an appropriate version of Bazel based on your current working directory. This tool is ideal for teams who need to manage multiple Bazel versions or ensure consistent builds across different environments without manual intervention.
Key features:
- Automatically picks a good version of Bazel given the current working directory.
- Downloads the required Bazel version from the official server if it is not already present.
- Transparently passes through all command-line arguments to the real Bazel binary.
- Can be called just like you would call Bazel directly.
- Written in Go for efficient performance.
- Supports the bazeliskVersion command to check the Bazelisk version without running Bazel.
- Allows callers to capture stderr via an io.Writer in the Go library.
- Includes SHA-256 checksums for releases to ensure integrity.
What's new in version 1.29.0:
- Official Bazel releases are now authenticated via an embedded verification key.
- Added support for the bazeliskVersion command to view the version without downloading Bazel.
- Go library callers can now capture stderr using an io.Writer.
- On non-Windows machines, Bazelisk runs via exec instead of a subprocess for better performance.
- Bazelisk releases now include SHA-256 checksums for security verification.