From c4a38deee672d93b63cdf538c908a4b45df1e296 Mon Sep 17 00:00:00 2001 From: sha1n Date: Sat, 17 Jan 2026 00:26:13 +0200 Subject: [PATCH] build: add go-vendor target and fix build paths --- Makefile | 29 ++++++++++++++++------------- README.md | 12 ++++++++++-- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/Makefile b/Makefile index bd59a74..36ee335 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,6 @@ PROGRAMNAME := $(PROJECTNAME) # Go related variables. GOBASE := $(shell pwd) -GOPATH := $(GOBASE)/vendor:$(GOBASE) GOBIN := $(GOBASE)/bin GOBUILD := $(GOBASE)/build GOFILES := $(shell find . -type f -name '*.go' -not -path './vendor/*') @@ -47,8 +46,6 @@ compile: @-touch $(STDERR) @-rm $(STDERR) @-$(MAKE) -s go-build #2> $(STDERR) - #@cat $(STDERR) | sed -e '1s/.*/\nError:\n/' | sed 's/make\[.*/ /' | sed "/^/s/^/ /" 1>&2 - test: go-test @@ -71,39 +68,45 @@ go-test: go-build-linux-amd64: @echo " > Building linux amd64 binaries..." - @GOPATH=$(GOPATH) GOOS=$(GOOS_LINUX) GOARCH=$(GOARCH_AMD64) GOBIN=$(GOBIN) go build $(MODFLAGS) $(LDFLAGS) -o $(GOBIN)/$(PROGRAMNAME)-$(GOOS_LINUX)-$(GOARCH_AMD64) $(GOBASE)/internal + @GOOS=$(GOOS_LINUX) GOARCH=$(GOARCH_AMD64) GOBIN=$(GOBIN) go build $(MODFLAGS) $(LDFLAGS) -o $(GOBIN)/$(PROGRAMNAME)-$(GOOS_LINUX)-$(GOARCH_AMD64) $(GOBASE)/cmd/demo go-build-linux-arm64: @echo " > Building linux arm64 binaries..." - @GOPATH=$(GOPATH) GOOS=$(GOOS_LINUX) GOARCH=$(GOARCH_ARM64) GOBIN=$(GOBIN) go build $(MODFLAGS) $(LDFLAGS) -o $(GOBIN)/$(PROGRAMNAME)-$(GOOS_LINUX)-$(GOARCH_ARM64) $(GOBASE)/internal + @GOOS=$(GOOS_LINUX) GOARCH=$(GOARCH_ARM64) GOBIN=$(GOBIN) go build $(MODFLAGS) $(LDFLAGS) -o $(GOBIN)/$(PROGRAMNAME)-$(GOOS_LINUX)-$(GOARCH_ARM64) $(GOBASE)/cmd/demo go-build-darwin-amd64: @echo " > Building darwin binaries..." - @GOPATH=$(GOPATH) GOOS=$(GOOS_DARWIN) GOARCH=$(GOARCH_AMD64) GOBIN=$(GOBIN) go build $(MODFLAGS) $(LDFLAGS) -o $(GOBIN)/$(PROGRAMNAME)-$(GOOS_DARWIN)-$(GOARCH_AMD64) $(GOBASE)/internal + @GOOS=$(GOOS_DARWIN) GOARCH=$(GOARCH_AMD64) GOBIN=$(GOBIN) go build $(MODFLAGS) $(LDFLAGS) -o $(GOBIN)/$(PROGRAMNAME)-$(GOOS_DARWIN)-$(GOARCH_AMD64) $(GOBASE)/cmd/demo go-build-windows-amd64: @echo " > Building windows amd64 binaries..." - @GOPATH=$(GOPATH) GOOS=$(GOOS_WINDOWS) GOARCH=$(GOARCH_AMD64) GOBIN=$(GOBIN) go build $(MODFLAGS) $(LDFLAGS) -o $(GOBIN)/$(PROGRAMNAME)-$(GOOS_WINDOWS)-$(GOARCH_AMD64).exe $(GOBASE)/internal + @GOOS=$(GOOS_WINDOWS) GOARCH=$(GOARCH_AMD64) GOBIN=$(GOBIN) go build $(MODFLAGS) $(LDFLAGS) -o $(GOBIN)/$(PROGRAMNAME)-$(GOOS_WINDOWS)-$(GOARCH_AMD64).exe $(GOBASE)/cmd/demo go-build-windows-arm: @echo " > Building windows arm binaries..." - @GOPATH=$(GOPATH) GOOS=$(GOOS_WINDOWS) GOARCH=$(GOARCH_ARM) GOBIN=$(GOBIN) go build $(MODFLAGS) $(LDFLAGS) -o $(GOBIN)/$(PROGRAMNAME)-$(GOOS_WINDOWS)-$(GOARCH_ARM).exe $(GOBASE)/internal + @GOOS=$(GOOS_WINDOWS) GOARCH=$(GOARCH_ARM) GOBIN=$(GOBIN) go build $(MODFLAGS) $(LDFLAGS) -o $(GOBIN)/$(PROGRAMNAME)-$(GOOS_WINDOWS)-$(GOARCH_ARM).exe $(GOBASE)/cmd/demo go-generate: @echo " > Generating dependency files..." - @GOPATH=$(GOPATH) GOBIN=$(GOBIN) go generate $(generate) + @GOBIN=$(GOBIN) go generate $(generate) go-get: @echo " > Checking if there is any missing dependencies..." - @GOPATH=$(GOPATH) GOBIN=$(GOBIN) go mod tidy + @GOBIN=$(GOBIN) go mod tidy go-install: - @GOPATH=$(GOPATH) GOBIN=$(GOBIN) go install $(GOFILES) + @GOBIN=$(GOBIN) go install $(GOFILES) + +go-vendor: + @echo " > Vendoring dependencies..." + @chmod -R u+w vendor 2> /dev/null || true + @rm -rf vendor + go mod vendor go-clean: @echo " > Cleaning build cache" - @GOPATH=$(GOPATH) GOBIN=$(GOBIN) go clean $(MODFLAGS) $(GOBASE) - @GOPATH=$(GOPATH) GOBIN=$(GOBIN) go clean -modcache + @GOBIN=$(GOBIN) go clean $(MODFLAGS) $(GOBASE) + @GOBIN=$(GOBIN) go clean -modcache diff --git a/README.md b/README.md index 20247ba..0aab298 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,14 @@ if err := spinner.Start(ctx); err == nil { _ = spinner.Stop(context.Background(), "Done!") } + +// Or using the fluent builder +builder := termite.NewSpinnerBuilder(). + WithTitle("Processing..."). + WithInterval(time.Millisecond * 100) + +spinner := builder.Build() +_ = spinner.Start(ctx) ``` ### Progress Bar @@ -48,8 +56,8 @@ if err := spinner.Start(ctx); err == nil { ctx, cancel := context.WithCancel(context.Background()) defer cancel() -termWidth, _, _ := termite.GetTerminalDimensions() -progressBar := termite.NewProgressBar(termite.StdoutWriter, tickCount, width, termWidth, termite.DefaultProgressBarFormatter()) +termWidthFn := func() int { w, _, _ := termite.GetTerminalDimensions(); return w } +progressBar := termite.NewProgressBar(termite.StdoutWriter, tickCount, termWidthFn, width, termite.DefaultProgressBarFormatter()) if tick, err := progressBar.Start(ctx); err == nil { doWork(tick)