github.com/grafana/synthetic-monitoring-agent@v0.64.2/scripts/package/goreleaser-build (about)

     1  #!/bin/sh
     2  
     3  log=false
     4  
     5  if "$log" ; then
     6  	exec 6>&1
     7  	exec 7>&2
     8  	exec > "goreleaser.$(date +%s).$$.log" 2>&1
     9  	trap 'exec 1>&6 2>&7 6>&- 7>&-' EXIT
    10  fi
    11  
    12  # On macOS, use GNU's getopt: "brew install gnu-getopt"
    13  TEMP=$(getopt --alternative --longoptions ldflags: --options o: -- "$@")
    14  
    15  # shellcheck disable=SC2181
    16  if [ $? != 0 ] ; then
    17  	echo "Terminating..." >&2
    18  	exit 1
    19  fi
    20  
    21  eval set -- "$TEMP"
    22  
    23  set -e
    24  
    25  while true ; do
    26  	case "$1" in
    27  		-o)
    28  			OUTPUT="$2"
    29  			shift 2
    30  			;;
    31  		--ldflags)
    32  			shift 2
    33  			;;
    34  		--)
    35  			shift
    36  			break
    37  			;;
    38  		*)
    39  			break
    40  			;;
    41  	esac
    42  done
    43  
    44  case "$1" in
    45  	version)
    46  		go "$@"
    47  		;;
    48  
    49  	build)
    50  		make build \
    51  			"PLATFORMS=${GOOS}/${GOARCH}" \
    52  			"COMMANDS=github.com/grafana/synthetic-monitoring-agent/$2" \
    53  			"OUTPUT_FILE=${OUTPUT}"
    54  		;;
    55  
    56  	*)
    57  		echo "E: Unhandled arguments: '$*'. Stop."
    58  		exit 100
    59  		;;
    60  esac