- #!/bin/bash
-
- set -euo pipefail
-
- f_sha256() {
- local l_file
- l_file=$1
- python -sBc "import hashlib;print(hashlib.sha256(open('$l_file','rb').read()).hexdigest())"
- }
-
- installer="$(mktemp)"
- trap "rm -f ${installer}" EXIT
-
- GOBIN="${1}"
- VERSION="${2}"
- HASHSUM="${3}"
- CURL="$(which curl)"
-
- echo "Downloading golangci-lint ${VERSION} installer ..." >&2
- "${CURL}" -sfL "https://raw.githubusercontent.com/golangci/golangci-lint/${VERSION}/install.sh" > "${installer}"
-
- echo "Checking hashsum ..." >&2
- [ "${HASHSUM}" = "$(f_sha256 ${installer})" ]
- chmod +x "${installer}"
-
- echo "Launching installer ..." >&2
- exec "${installer}" -d -b "${GOBIN}" "${VERSION}"
|