#!/bin/bash

export GOPROXY=https://goproxy.io

go get

export CGO_ENABLED=0
PKG=aurora

targets=(
    "windows/amd64"
    "linux/amd64"
    "darwin/amd64"
    "windows/386"
    "linux/386"
    "darwin/386"
    "linux/arm"
    "linux/arm64"
    "linux/s390x"    
)

upxPath=$(command -v upx)

for target in "${targets[@]}"; do
    GOOS=${target%/*}
    GOARCH=${target#*/}
    outputDir="bin/${GOOS}_${GOARCH}"
    outputFile="${outputDir}/${PKG}"
    archiveName="${PKG}-${GOOS}-${GOARCH}.tar.gz"
    mkdir -p $(dirname ${outputFile})
    GOOS=$GOOS GOARCH=$GOARCH go build -ldflags="-s -w -extldflags '-static'" -o ${outputFile} *.go
    if [ -n "$upxPath" ]; then
        $upxPath -9 ${outputFile}
    fi
    # Archive the binary
    if [ "$GOOS" = "windows" ]; then
        zip -j "${outputDir}/${PKG}-${GOOS}-${GOARCH}.zip" "${outputFile}"
    else
        tar -C "${outputDir}" -czf "${outputDir}/${archiveName}" "${PKG}"
    fi
done