set -eu BIN_DIR="$(git rev-parse --show-toplevel)/bin" export PATH="$BIN_DIR:$PATH" _u_bzl=https://github.com/bazelbuild/bazelisk/releases/download/v1.10.1/bazelisk- _u_bldf=https://github.com/bazelbuild/buildtools/releases/download/5.0.1/buildifier- if [[ "${PRINT_TOOL_HASHES:-no}" = "yes" ]]; then for os in linux darwin; do for arch in amd64 arm64; do hash_bzl=$(direnv fetchurl "${_u_bzl}$os-$arch") hash_bldf=$(direnv fetchurl "${_u_bldf}$os-$arch") echo -e "bzl: $os-$arch\t$hash_bzl" echo -e "bldf: $os-$arch\t$hash_bldf" done done fi # to fetch the hashes, run: # $ PRINT_TOOL_HASHES=yes bash .envrc case "$(uname | tr A-Z a-z)-$(uname -m)" in linux-x86_64) bzl=$(direnv fetchurl "${_u_bzl}linux-amd64" sha256-TLU0xSzdR6YiPUWW1TDnyceFQ4qzsKSf80fpkcIQss0=) bldf=$(direnv fetchurl "${_u_bldf}linux-amd64" sha256-Ptc1jHxqHKIW3FZukFT9C5ehSCywt+YQkr6IfUJhXF0=) ;; linux-aarch64) bzl=$(direnv fetchurl "${_u_bzl}linux-arm64" sha256-wd5oYN1PjV4uwnAJe9RtaiEblxoLizhVl4S9BR6pUKE=) bldf=$(direnv fetchurl "${_u_bldf}linux-arm64" sha256-xlfGKPynK34ERvGlQiMXIqELpDIVl71vYkml2mBgtv8=) ;; darwin-x86_64) bzl=$(direnv fetchurl "${_u_bzl}darwin-amd64" sha256-5IW7+EUy0CpgsOsjxwJhC1QI3zoZkIek8rXgmVu/LVo=) bldf=$(direnv fetchurl "${_u_bldf}darwin-amd64" sha256-LLClRoNjPvbeTgSRBy4i5mrJxjiQUUMrdiAN7u6vk/s=) ;; darwin-arm64) bzl=$(direnv fetchurl "${_u_bzl}darwin-arm64" sha256-wi1IYBRm2dOwQ8zXQFHy9CMPm59FCfCXAXyXMDqojRM=) bldf=$(direnv fetchurl "${_u_bldf}darwin-arm64" sha256-TaIzFfDcyr+HjIIn/dvM81VFsjs8tiJb/PMQdonMQ2Q=) ;; *) >&2 echo "unsupported architecture tuple $(uname | tr A-Z a-z)-$(uname -m)" exit 1;; esac ln -sf "${bzl}" "$BIN_DIR/bazel" ln -sf "${bldf}" "$BIN_DIR/buildifier"