# For development versions of Go, these will be empty.
MAJOR_GOVERSION=$( go version | grep -o 'go1\.[0-9]' || true)
FULL_GOVERSION=$( go version| grep -o 'go1\.[0-9|\.]*' || true)

# The list of unsupported major go versions.
UNSUPPORTED=( "go1.0" "go1.1" "go1.2" "go1.3" "go1.4" )

# Minor go verisons which have known security vulnerabilities. Refuse to build with these.
KNOWN_INSECURE=( "go1.5" "go1.5.1" "go1.5.2" )

for V in "${UNSUPPORTED[@]}"; do
    if [ "$V" = "$MAJOR_GOVERSION" ]; then
        echo "dex requires Go version 1.5.3+. Please update your Go version."
        exit 2
    fi
done

for V in "${KNOWN_INSECURE[@]}"; do
    if [ "$V" = "$FULL_GOVERSION" ]; then
        echo "Go version ${V} has known security vulnerabilities which impact dex. Please update your Go verison."
        exit 2
    fi
done

PROJ="dex"
ORG_PATH="github.com/coreos"
REPO_PATH="${ORG_PATH}/${PROJ}"

if [ ! -h gopath/src/${REPO_PATH} ]; then
	mkdir -p gopath/src/${ORG_PATH}
	ln -s ${PWD} gopath/src/${REPO_PATH} || exit 255
fi

export GOPATH=${PWD}/gopath
export GOBIN=${PWD}/bin
export GO15VENDOREXPERIMENT=1
export VERSION=$(./git-version)
LD_FLAGS="-X main.version=${VERSION}"