diff --git a/.gitignore b/.gitignore index e6117223..344e0cd9 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ tile38-* !cmd/tile38-* data*/ -coverage.out \ No newline at end of file +coverage.out +packages/ \ No newline at end of file diff --git a/Makefile b/Makefile index 73e5d911..0f13a16f 100644 --- a/Makefile +++ b/Makefile @@ -13,3 +13,5 @@ install: all uninstall: rm -f /usr/local/bin/tile38-server rm -f /usr/local/bin/tile38-cli +package: + @./build.sh package \ No newline at end of file diff --git a/build.sh b/build.sh index 78495526..4f45c438 100755 --- a/build.sh +++ b/build.sh @@ -70,6 +70,33 @@ export GO15VENDOREXPERIMENT=1 cd $(dirname "${BASH_SOURCE[0]}") OD="$(pwd)" +package(){ + echo Packaging $1 Binary + bdir=tile38-v${VERSION}-$2-$3 + rm -rf packages/$bdir && mkdir -p packages/$bdir + GOOS=$2 GOARCH=$3 ./build.sh + mv tile38-server packages/$bdir + mv tile38-cli packages/$bdir + cp README.md packages/$bdir + cd packages + if [ "$2" == "linux" ]; then + tar -zcf $bdir.tar.gz $bdir + else + zip -r -q $bdir.zip $bdir + fi + rm -rf $bdir + cd .. +} + +if [ "$1" == "package" ]; then + rm -rf packages/ + package "Windows" "windows" "amd64" + package "Mac" "darwin" "amd64" + package "Linux" "linux" "amd64" + exit +fi + + # temp directory for storing isolated environment. TMP="$(mktemp -d -t tile38.XXXX)" function rmtemp { @@ -91,8 +118,6 @@ if [ "$NOCOPY" != "1" ]; then cd $WD fi -#core/gen.sh - # build and store objects into original directory. go build -ldflags "$LDFLAGS" -o "$OD/tile38-server" cmd/tile38-server/*.go go build -ldflags "$LDFLAGS" -o "$OD/tile38-cli" cmd/tile38-cli/*.go @@ -119,3 +144,4 @@ if [ "$1" == "cover" ]; then go test -cover $(go list ./... | grep -v /vendor/) fi +