|
#!/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 |
|
|
|
if [ "$GOOS" = "windows" ]; then |
|
zip -j "${outputDir}/${PKG}-${GOOS}-${GOARCH}.zip" "${outputFile}" |
|
else |
|
tar -C "${outputDir}" -czf "${outputDir}/${archiveName}" "${PKG}" |
|
fi |
|
done |
|
|