#!/usr/bin/env bash # This script is intended to be a convenience, to be called from the # Makefile `.install.swagger` target. Any other usage is not recommended. BIN="$BINDIR/swagger" die() { echo "${1:-No error message given} (from $(basename $0))"; exit 1; } function install() { echo "Installing swagger v$VERSION into $BIN" curl -sS --retry 5 --location -o $BIN \ https://github.com/go-swagger/go-swagger/releases/download/v$VERSION/swagger_${GOOS}_${GOARCH} chmod +x $BIN $BIN version } for req_var in VERSION BINDIR GOOS GOARCH; do [[ -n "${!req_var}" ]] || die "\$$req_var is empty or undefined" done if [ ! -x "$BIN" ]; then install else $BIN version | grep "$VERSION" if [[ "$?" -eq 0 ]]; then echo "Using existing $BIN" else install fi fi