From 51462b45cd6f7c69c6df300dd329748b9af49ba0 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Wed, 16 Nov 2016 23:45:21 +0000 Subject: [PATCH] Update packing task to use gox --- Makefile | 14 ++++++++--- package.sh | 72 ------------------------------------------------------ 2 files changed, 10 insertions(+), 76 deletions(-) delete mode 100755 package.sh diff --git a/Makefile b/Makefile index b12fcde..96da9d1 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,15 @@ DEV_DEPS = github.com/kardianos/govendor \ github.com/vektra/mockery/.../ \ github.com/mailru/easyjson/... \ - github.com/jteeuwen/go-bindata/... + github.com/jteeuwen/go-bindata/... \ + github.com/mitchellh/gox -BINARY = bin/ozuio +BINNAME = ozuio +BINARY = bin/${BINNAME} BINDIR = $(shell dirname ${BINARY}) SOURCES = $(shell find . -name '*.go') +VERSION = $(shell cat VERSION) +OSARCH = "linux/amd64 darwin/amd64" .DEFAULT_GOAL: $(BINARY) $(BINARY): $(SOURCES) @@ -64,5 +68,7 @@ web-debug-bindata: cd web && go-bindata -debug -pkg web static/... templates/... .PHONY: package -package: - ./package.sh +package: dev-deps + gox -output "pkg/${VERSION}/${BINNAME}_${VERSION}_{{.OS}}_{{.Arch}}" \ + -osarch=${OSARCH} \ + -ldflags "-X main.Version=${VERSION}" diff --git a/package.sh b/package.sh deleted file mode 100755 index 7bed73e..0000000 --- a/package.sh +++ /dev/null @@ -1,72 +0,0 @@ -#! /usr/bin/env bash -set -e -shopt -s extglob - -main() { - local name="ozuio" - local platforms=( - darwin-386 darwin-amd64 - freebsd-386 freebsd-amd64 freebsd-arm - linux-386 linux-amd64 linux-arm - netbsd-386 netbsd-amd64 netbsd-arm - openbsd-386 openbsd-amd64 - solaris-amd64 - windows-386 windows-amd64 - ) - local builddir="build" - local outputdir="pkg" - - local version - version="$(get-version)" - - local workdir="${builddir}/${version}" - mkdir -p "$workdir" - - for platform in "${platforms[@]}"; do - if [[ "$platform" =~ ^(.+)-(.+)$ ]]; then - local os="${BASH_REMATCH[1]}" - local arch="${BASH_REMATCH[2]}" - local pkg="${name}_${version}_${os}_${arch}" - local pkgdir="${workdir}/${pkg}" - local binary="${pkgdir}/${name}" - - if [ "$os" == "windows" ]; then - binary="${binary}.exe" - fi - - echo "building $pkg" - GOOS="$os" GOARCH="$arch" go build -o "$binary" \ - -ldflags "-X main.Version=${version}" - - cp "README.md" "${pkgdir}/" - - mkdir -p "${outputdir}/${version}" - - if [ "$os" == "windows" ]; then - local archive="${outputdir}/${version}/${pkg}.zip" - echo "creating ${archive}" - local cwd="$(pwd)" - cd "$workdir" - zip -r "../../$archive" "$pkg" - cd "$cwd" - else - local archive="${outputdir}/${version}/${pkg}.tar.gz" - echo "creating ${archive}" - tar -C "$workdir" -czf "$archive" "$pkg" - fi - fi - done -} - -get-version() { - trim "$(cat "VERSION")" -} - -trim() { - local string="$@" - string="${string#"${string%%[![:space:]]*}"}" - string="${string%"${string##*[![:space:]]}"}" - echo -n "$string" -} - -main