From dd5ce60d91ae8bbc0decaec049107e44459609ab Mon Sep 17 00:00:00 2001 From: Josh Baker Date: Wed, 19 Oct 2016 10:32:49 -0700 Subject: [PATCH] packaging --- Makefile | 3 ++- build.sh | 33 ++++++++++++++++++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 7c3e807..c31d25f 100644 --- a/Makefile +++ b/Makefile @@ -6,4 +6,5 @@ install: all @cp jsoned /usr/local/bin uninstall: @rm -f /usr/local/bin/jsoned - +package: + @NOCOPY=1 ./build.sh package diff --git a/build.sh b/build.sh index a38f129..3c88440 100755 --- a/build.sh +++ b/build.sh @@ -1,13 +1,14 @@ #!/bin/bash set -e -VERSION="0.0.1" +VERSION="0.1.0" PROTECTED_MODE="no" export GO15VENDOREXPERIMENT=1 cd $(dirname "${BASH_SOURCE[0]}") OD="$(pwd)" +WD=$OD # temp directory for storing isolated environment. TMP="$(mktemp -d -t sdb.XXXX)" @@ -30,6 +31,36 @@ if [ "$NOCOPY" != "1" ]; then cd $WD fi +package(){ + echo Packaging $1 Binary + bdir=jsoned-${VERSION}-$2-$3 + rm -rf packages/$bdir && mkdir -p packages/$bdir + GOOS=$2 GOARCH=$3 ./build.sh + if [ "$2" == "windows" ]; then + mv jsoned packages/$bdir/jsoned.exe + else + mv jsoned packages/$bdir + fi + 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" + package "FreeBSD" "freebsd" "amd64" + exit +fi + # build and store objects into original directory. go build -ldflags "-X main.version=$VERSION" -o "$OD/jsoned" cmd/jsoned/*.go