summaryrefslogtreecommitdiff
path: root/hack/install_golangci.sh
blob: 41cf90ddc41f07c732f9af8b4f78bf5f75984397 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env bash

die() { echo "${1:-No error message given} (from $(basename $0))"; exit 1; }

[ -n "$VERSION" ] || die "\$VERSION is empty or undefined"

function install() {
    echo "Installing golangci-lint v$VERSION into $BIN"
    curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b ./bin v$VERSION
}

BIN="./bin/golangci-lint"
if [ ! -x "$BIN" ]; then
	install
else
    # Prints its own file name as part of --version output
    $BIN --version | grep "$VERSION"
    if [ $? -eq 0 ]; then
        echo "Using existing $(dirname $BIN)/$($BIN --version)"
    else
        install
    fi
fi