#!/bin/sh

log=false

if "$log" ; then
	exec 6>&1
	exec 7>&2
	exec > "goreleaser.$(date +%s).$$.log" 2>&1
	trap 'exec 1>&6 2>&7 6>&- 7>&-' EXIT
fi

# On macOS, use GNU's getopt: "brew install gnu-getopt"
TEMP=$(getopt --alternative --longoptions ldflags: --options o: -- "$@")

# shellcheck disable=SC2181
if [ $? != 0 ] ; then
	echo "Terminating..." >&2
	exit 1
fi

eval set -- "$TEMP"

set -e

while true ; do
	case "$1" in
		-o)
			OUTPUT="$2"
			shift 2
			;;
		--ldflags)
			shift 2
			;;
		--)
			shift
			break
			;;
		*)
			break
			;;
	esac
done

case "$1" in
	version)
		go "$@"
		;;

	build)
		make build \
			"PLATFORMS=${GOOS}/${GOARCH}" \
			"COMMANDS=github.com/grafana/synthetic-monitoring-agent/$2" \
			"OUTPUT_FILE=${OUTPUT}"
		;;

	*)
		echo "E: Unhandled arguments: '$*'. Stop."
		exit 100
		;;
esac
