syncthing/build.sh

50 lines
1.2 KiB
Bash
Raw Normal View History

2013-12-22 00:16:49 +01:00
#!/bin/bash
export COPYFILE_DISABLE=true
2013-12-22 00:16:49 +01:00
version=$(git describe --always)
2014-01-06 06:11:19 +01:00
buildDir=dist
2013-12-22 00:16:49 +01:00
if [[ $fast != yes ]] ; then
2014-02-23 13:54:23 +01:00
./assets.sh | gofmt > auto/gui.files.go
2014-01-09 23:00:23 +01:00
go get -d
2014-01-06 15:50:15 +01:00
go test ./...
fi
if [[ -z $1 ]] ; then
2014-03-02 23:13:04 +01:00
go build -ldflags "-X main.Version $version" ./cmd/syncthing
elif [[ $1 == "tar" ]] ; then
2014-03-02 23:13:04 +01:00
go build -ldflags "-X main.Version $version" ./cmd/syncthing \
&& mkdir syncthing-dist \
&& cp syncthing README.md LICENSE syncthing-dist \
&& tar zcvf syncthing-dist.tar.gz syncthing-dist \
&& rm -rf syncthing-dist
elif [[ $1 == "all" ]] ; then
2014-01-06 06:11:19 +01:00
rm -rf "$buildDir"
mkdir -p "$buildDir" || exit 1
2013-12-22 23:13:51 +01:00
2014-02-01 10:10:07 +01:00
export GOARM=7
2014-02-20 17:40:15 +01:00
for os in darwin-amd64 linux-amd64 linux-arm freebsd-amd64 windows-amd64 ; do
2014-02-01 10:10:07 +01:00
echo "$os"
export name="syncthing-$os"
export GOOS=${os%-*}
export GOARCH=${os#*-}
2014-03-02 23:13:04 +01:00
go build -ldflags "-X main.Version $version" ./cmd/syncthing
2014-02-01 10:10:07 +01:00
mkdir -p "$name"
cp README.md LICENSE "$name"
case $GOOS in
windows)
cp syncthing.exe "$buildDir/$name.exe"
mv syncthing.exe "$name"
zip -qr "$buildDir/$name.zip" "$name"
;;
*)
cp syncthing "$buildDir/$name"
mv syncthing "$name"
tar zcf "$buildDir/$name.tar.gz" "$name"
;;
esac
rm -r "$name"
2013-12-22 00:16:49 +01:00
done
2014-01-05 23:54:57 +01:00
fi