diff --git a/build-dist.sh b/build-dist.sh index 7000fe0d2b5f2d84c77dfdbb197616665c575feb..433f03eb19e5e10993174d5e97a721259bf488d1 100644 --- a/build-dist.sh +++ b/build-dist.sh @@ -1,27 +1,34 @@ -#!/bin/sh +#!/bin/bash + +rm -rfv $PWD/bin/* +mkdir $PWD/bin/dist GOBIN=$PWD/bin go install -v ./cmd/compile_assets $PWD/bin/compile_assets -rm -rfv $PWD/bin/win -rm -rfv $PWD/bin/linux -mkdir $PWD/bin/win -mkdir $PWD/bin/linux - -GOOS=windows GOARCH=amd64 GOBIN=$PWD/bin go build -o $PWD/bin/win -a -ldflags "-X github.com/turt2live/matrix-media-repo/common/version.GitCommit=$(git rev-list -1 HEAD) -X github.com/turt2live/matrix-media-repo/common/version.Version=$(git describe --tags)" -v ./cmd/... -GOOS=linux GOARCH=amd64 GOBIN=$PWD/bin go build -o $PWD/bin/linux -a -ldflags "-X github.com/turt2live/matrix-media-repo/common/version.GitCommit=$(git rev-list -1 HEAD) -X github.com/turt2live/matrix-media-repo/common/version.Version=$(git describe --tags)" -v ./cmd/... - -rm -rfv $PWD/bin/dist -mkdir $PWD/bin/dist -cd $PWD/bin -cd win -for file in * ; do mv -v $file ../dist/${file%.*}-win-x64.exe; done; -cd ../linux -for file in * ; do mv -v $file ../dist/${file}-linux-x64; done; -cd ../../ +arches=("amd64") +oses=("windows" "linux") -rm -rfv $PWD/bin/win -rm -rfv $PWD/bin/linux +for os in "${oses[@]}" +do + for arch in "${arches[@]}" + do + pth="$os-$arch" + mkdir $PWD/bin/$pth + GOOS=$os GOARCH=$arch GOBIN=$PWD/bin go build -o $PWD/bin/$pth -a -ldflags "-X github.com/turt2live/matrix-media-repo/common/version.GitCommit=$(git rev-list -1 HEAD) -X github.com/turt2live/matrix-media-repo/common/version.Version=$(git describe --tags)" -v ./cmd/... + cd $PWD/bin/$pth + if [ "$arch" == "amd64" ]; then + arch="x64" + fi + if [ "$os" == "windows" ]; then + for file in * ; do mv -v $file ../dist/${file%.*}-win-${arch}.exe; done; + else + for file in * ; do mv -v $file ../dist/${file}-${os}-${arch}; done; + fi + cd ../../ + rm -rfv $PWD/bin/$pth + done +done rm -rfv $PWD/bin/dist/compile_assets* rm -rfv $PWD/bin/dist/loadtest*