diff --git a/scripts/setup-hooks.sh b/scripts/setup-hooks.sh index 56b33aa..2bdd258 100755 --- a/scripts/setup-hooks.sh +++ b/scripts/setup-hooks.sh @@ -39,49 +39,44 @@ _arch() { esac } -install_shellcheck() { - local os arch tarball url tmp_dir +install_shellcheck() ( os="$(_os)" arch="$(_arch)" tarball="shellcheck-v${SHELLCHECK_VERSION}.${os}.${arch}.tar.xz" url="https://github.com/koalaman/shellcheck/releases/download/v${SHELLCHECK_VERSION}/${tarball}" tmp_dir="$(mktemp -d)" - trap 'rm -rf "$tmp_dir"' RETURN + trap 'rm -rf "$tmp_dir"' EXIT echo "Installing shellcheck v${SHELLCHECK_VERSION}..." curl -fsSL "$url" -o "$tmp_dir/$tarball" tar -xJf "$tmp_dir/$tarball" -C "$tmp_dir" --strip-components=1 install -m 755 "$tmp_dir/shellcheck" "$TOOL_INSTALL_DIR/shellcheck" echo "Installed: $TOOL_INSTALL_DIR/shellcheck" -} +) -install_jq() { - local os arch binary url tmp_dir +install_jq() ( os="$(_os)" + [[ "$os" == "darwin" ]] && os="macos" arch="$(_arch | sed 's/x86_64/amd64/; s/aarch64/arm64/')" - [[ "$(_os)" == "darwin" ]] && os="macos" - binary="jq-${os}-${arch}" - url="https://github.com/jqlang/jq/releases/download/jq-${JQ_VERSION}/${binary}" + url="https://github.com/jqlang/jq/releases/download/jq-${JQ_VERSION}/jq-${os}-${arch}" tmp_dir="$(mktemp -d)" - trap 'rm -rf "$tmp_dir"' RETURN + trap 'rm -rf "$tmp_dir"' EXIT echo "Installing jq v${JQ_VERSION}..." curl -fsSL "$url" -o "$tmp_dir/jq" install -m 755 "$tmp_dir/jq" "$TOOL_INSTALL_DIR/jq" echo "Installed: $TOOL_INSTALL_DIR/jq" -} +) -install_yq() { - local os arch binary url tmp_dir +install_yq() ( os="$(_os)" arch="$(_arch | sed 's/x86_64/amd64/; s/aarch64/arm64/')" - binary="yq_${os}_${arch}" - url="https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/${binary}" + url="https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_${os}_${arch}" tmp_dir="$(mktemp -d)" - trap 'rm -rf "$tmp_dir"' RETURN + trap 'rm -rf "$tmp_dir"' EXIT echo "Installing yq v${YQ_VERSION}..." curl -fsSL "$url" -o "$tmp_dir/yq" install -m 755 "$tmp_dir/yq" "$TOOL_INSTALL_DIR/yq" echo "Installed: $TOOL_INSTALL_DIR/yq" -} +) ensure_tool() { local tool="$1"