From 524d244acde559c6ed8808207b91137c2cf261b0 Mon Sep 17 00:00:00 2001 From: Sergey Grebenshchikov Date: Thu, 22 Mar 2018 21:06:20 +0100 Subject: Handle empty input, support arm64 --- Makefile | 15 +++++++++++---- cmd/jp/bar.go | 12 ++++++++---- cmd/jp/line.go | 16 ++++++++++------ 3 files changed, 29 insertions(+), 14 deletions(-) diff --git a/Makefile b/Makefile index e241817..9fdac88 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VERSION = 1.0.0 +VERSION = 1.0.1 APP := jp PACKAGES := $(shell go list -f {{.Dir}} ./...) @@ -20,13 +20,13 @@ clean: release: zip git push hub release delete $(VERSION) || true - hub release create $(VERSION) -m "$(VERSION)" -a release/$(APP)_$(VERSION)_osx_x86_64.zip -a release/$(APP)_$(VERSION)_windows_x86_64.zip -a release/$(APP)_$(VERSION)_linux_x86_64.zip -a release/$(APP)_$(VERSION)_osx_x86_32.zip -a release/$(APP)_$(VERSION)_windows_x86_32.zip -a release/$(APP)_$(VERSION)_linux_x86_32.zip + hub release create $(VERSION) -m "$(VERSION)" -a release/$(APP)_$(VERSION)_osx_x86_64.zip -a release/$(APP)_$(VERSION)_windows_x86_64.zip -a release/$(APP)_$(VERSION)_linux_x86_64.zip -a release/$(APP)_$(VERSION)_osx_x86_32.zip -a release/$(APP)_$(VERSION)_windows_x86_32.zip -a release/$(APP)_$(VERSION)_linux_x86_32.zip -a release/$(APP)_$(VERSION)_linux_arm64.zip docker: binaries/linux_x86_64/$(APP) docker build -t quay.io/sergey_grebenshchikov/$(APP):v$(VERSION) . docker push quay.io/sergey_grebenshchikov/$(APP):v$(VERSION) -zip: release/$(APP)_$(VERSION)_osx_x86_64.zip release/$(APP)_$(VERSION)_windows_x86_64.zip release/$(APP)_$(VERSION)_linux_x86_64.zip release/$(APP)_$(VERSION)_osx_x86_32.zip release/$(APP)_$(VERSION)_windows_x86_32.zip release/$(APP)_$(VERSION)_linux_x86_32.zip +zip: release/$(APP)_$(VERSION)_osx_x86_64.zip release/$(APP)_$(VERSION)_windows_x86_64.zip release/$(APP)_$(VERSION)_linux_x86_64.zip release/$(APP)_$(VERSION)_osx_x86_32.zip release/$(APP)_$(VERSION)_windows_x86_32.zip release/$(APP)_$(VERSION)_linux_x86_32.zip release/$(APP)_$(VERSION)_linux_arm64.zip binaries: binaries/osx_x86_64/$(APP) binaries/windows_x86_64/$(APP).exe binaries/linux_x86_64/$(APP) binaries/osx_x86_32/$(APP) binaries/windows_x86_32/$(APP).exe binaries/linux_x86_32/$(APP) @@ -70,4 +70,11 @@ release/$(APP)_$(VERSION)_linux_x86_32.zip: binaries/linux_x86_32/$(APP) cd ./binaries/linux_x86_32 && zip -r -D ../../release/$(APP)_$(VERSION)_linux_x86_32.zip $(APP) binaries/linux_x86_32/$(APP): $(GOFILES) - GOOS=linux GOARCH=386 go build -ldflags "-X main.version=$(VERSION)" -o binaries/linux_x86_32/$(APP) ./cmd/$(APP) \ No newline at end of file + GOOS=linux GOARCH=386 go build -ldflags "-X main.version=$(VERSION)" -o binaries/linux_x86_32/$(APP) ./cmd/$(APP) + +release/$(APP)_$(VERSION)_linux_arm64.zip: binaries/linux_arm64/$(APP) + mkdir -p release + cd ./binaries/linux_arm64 && zip -r -D ../../release/$(APP)_$(VERSION)_linux_arm64.zip $(APP) + +binaries/linux_arm64/$(APP): $(GOFILES) + GOOS=linux GOARCH=arm64 go build -ldflags "-X main.version=$(VERSION)" -o binaries/linux_arm64/$(APP) ./cmd/$(APP) \ No newline at end of file diff --git a/cmd/jp/bar.go b/cmd/jp/bar.go index be0c230..e1a622b 100644 --- a/cmd/jp/bar.go +++ b/cmd/jp/bar.go @@ -11,14 +11,18 @@ import ( func barPlotData(xvv, yvv [][]reflect.Value) (x []string, y []float64) { for _, xv := range xvv { for i := range xv { - x = append(x, fmt.Sprint(xv[i].Interface())) + if xv[i].IsValid() && xv[i].CanInterface() { + x = append(x, fmt.Sprint(xv[i].Interface())) + } } } for _, yv := range yvv { for i := range yv { - yvi, ok := yv[i].Interface().(float64) - if ok { - y = append(y, yvi) + if yv[i].IsValid() && yv[i].CanInterface() { + yvi, ok := yv[i].Interface().(float64) + if ok { + y = append(y, yvi) + } } } } diff --git a/cmd/jp/line.go b/cmd/jp/line.go index 6b75a8f..b47b38c 100644 --- a/cmd/jp/line.go +++ b/cmd/jp/line.go @@ -10,17 +10,21 @@ import ( func linePlotData(xvv, yvv [][]reflect.Value) (x, y []float64) { for _, xv := range xvv { for i := range xv { - xvi, ok := xv[i].Interface().(float64) - if ok { - x = append(x, xvi) + if xv[i].IsValid() && xv[i].CanInterface() { + xvi, ok := xv[i].Interface().(float64) + if ok { + x = append(x, xvi) + } } } } for _, yv := range yvv { for i := range yv { - yvi, ok := yv[i].Interface().(float64) - if ok { - y = append(y, yvi) + if yv[i].IsValid() && yv[i].CanInterface() { + yvi, ok := yv[i].Interface().(float64) + if ok { + y = append(y, yvi) + } } } } -- cgit v1.2.3