Open bwplotka opened 4 years ago
minimally we need to quote more. ex this:
--- a/.bingo/Variables.mk
+++ b/.bingo/Variables.mk
@@ -21,23 +21,23 @@ GOIMPORTS := $(GOBIN)/goimports-v0.1.2
$(GOIMPORTS): $(BINGO_DIR)/goimports.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/goimports-v0.1.2"
- @cd $(BINGO_DIR) && $(GO) build -mod=mod -modfile=goimports.mod -o=$(GOBIN)/goimports-v0.1.2 "golang.org/x/tools/cmd/goimports"
+ @cd "$(BINGO_DIR)" && "$(GO)" build -mod=mod -modfile=goimports.mod -o="$(GOBIN)/goimports-v0.1.2" "golang.org/x/tools/cmd/goimports"
I think spaces just won't work. there are a bunch of reasons why. windows would only work if you can use non-spaces for both go and the checked out project
one main issue is that go env GOPATH
comes out like `c:...'
The result is this is ambiguous and fails
GOBIN ?= $(firstword $(subst :, ,${GOPATH}))/bin
This seems to work around things well enough in git bash assuming you have go installed in a non-spaced directory such as you'd get using https://github.com/travis-ci/gimme
--- a/.bingo/Variables.mk
+++ b/.bingo/Variables.mk
@@ -2,7 +2,9 @@
# All tools are designed to be build inside $GOBIN.
BINGO_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
GOPATH ?= $(shell go env GOPATH)
-GOBIN ?= $(firstword $(subst :, ,${GOPATH}))/bin
+# This handles translation for Windows, but only in cygwin or similar environments
+PATHSEP := $(if $(COMSPEC),;,:)
+GOBIN ?= $(firstword $(subst $(PATHSEP), ,$(subst \,/,${GOPATH})))/bin
GO ?= $(shell which go)
AC: