summaryrefslogtreecommitdiff
path: root/build.sh
blob: ff704c9ac8a8c19be393d1435f62a6965ab33840 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/bash
cd $(dirname "${BASH_SOURCE[0]}")
OD="$(pwd)"

# Pushes application version into the build information.
RR_VERSION=1.6.2

# Hardcode some values to the core package
LDFLAGS="$LDFLAGS -X github.com/spiral/roadrunner/cmd/rr/cmd.Version=${RR_VERSION}"
LDFLAGS="$LDFLAGS -X github.com/spiral/roadrunner/cmd/rr/cmd.BuildTime=$(date +%FT%T%z)"
# remove debug info from binary as well as string and symbol tables
LDFLAGS="$LDFLAGS -s"

build(){
	echo Packaging "$1" Build
	bdir=roadrunner-${RR_VERSION}-$2-$3
	rm -rf builds/"$bdir" && mkdir -p builds/"$bdir"
	GOOS=$2 GOARCH=$3 ./build.sh

	if [ "$2" == "windows" ]; then
		mv rr builds/"$bdir"/rr.exe
	else
		mv rr builds/"$bdir"
	fi

	cp README.md builds/"$bdir"
	cp CHANGELOG.md builds/"$bdir"
	cp LICENSE builds/"$bdir"
	cd builds

	if [ "$2" == "linux" ]; then
		tar -zcf "$bdir".tar.gz "$bdir"
	else
		zip -r -q "$bdir".zip "$bdir"
	fi

	rm -rf "$bdir"
	cd ..
}

if [ "$1" == "all" ]; then
	rm -rf builds/
	build "Windows" "windows" "amd64"
	build "Mac" "darwin" "amd64"
	build "Linux" "linux" "amd64"
	build "FreeBSD" "freebsd" "amd64"
	exit
fi

go build -ldflags "$LDFLAGS" -o "$OD/rr" cmd/rr/main.go