Skip to content

Commit 722bcef

Browse files
appleboylunny
authored andcommitted
refactor(Makefile): allow overriding default go program (#2310)
1 parent c76ee56 commit 722bcef

File tree

1 file changed

+25
-24
lines changed

1 file changed

+25
-24
lines changed

Makefile

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
DIST := dist
22
IMPORT := code.gitea.io/gitea
33

4+
GO ?= go
45
SED_INPLACE := sed -i
56

67
ifeq ($(OS), Windows_NT)
@@ -24,7 +25,7 @@ EXTRA_GOFLAGS ?=
2425

2526
LDFLAGS := -X "main.Version=$(shell git describe --tags --always | sed 's/-/+/' | sed 's/^v//')" -X "main.Tags=$(TAGS)"
2627

27-
PACKAGES ?= $(filter-out code.gitea.io/gitea/integrations,$(shell go list ./... | grep -v /vendor/))
28+
PACKAGES ?= $(filter-out code.gitea.io/gitea/integrations,$(shell $(GO) list ./... | grep -v /vendor/))
2829
SOURCES ?= $(shell find . -name "*.go" -type f)
2930

3031
TAGS ?=
@@ -52,31 +53,31 @@ all: build
5253

5354
.PHONY: clean
5455
clean:
55-
go clean -i ./...
56+
$(GO) clean -i ./...
5657
rm -rf $(EXECUTABLE) $(DIST) $(BINDATA)
5758

5859
required-gofmt-version:
59-
@go version | grep -q '\(1.7\|1.8\)' || { echo "We require go version 1.7 or 1.8 to format code" >&2 && exit 1; }
60+
@$(GO) version | grep -q '\(1.7\|1.8\)' || { echo "We require go version 1.7 or 1.8 to format code" >&2 && exit 1; }
6061

6162
.PHONY: fmt
6263
fmt: required-gofmt-version
6364
$(GOFMT) -w $(GOFILES)
6465

6566
.PHONY: vet
6667
vet:
67-
go vet $(PACKAGES)
68+
$(GO) vet $(PACKAGES)
6869

6970
.PHONY: generate
7071
generate:
7172
@hash go-bindata > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
72-
go get -u github.com/jteeuwen/go-bindata/...; \
73+
$(GO) get -u github.com/jteeuwen/go-bindata/...; \
7374
fi
74-
go generate $(PACKAGES)
75+
$(GO) generate $(PACKAGES)
7576

7677
.PHONY: generate-swagger
7778
generate-swagger:
7879
@hash swagger > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
79-
go get -u github.com/go-swagger/go-swagger/cmd/swagger; \
80+
$(GO) get -u github.com/go-swagger/go-swagger/cmd/swagger; \
8081
fi
8182
swagger generate spec -o ./public/swagger.v1.json
8283
$(SED_INPLACE) "s;\".ref\": \"#/definitions/GPGKey\";\"type\": \"object\";g" ./public/swagger.v1.json
@@ -85,28 +86,28 @@ generate-swagger:
8586
.PHONY: errcheck
8687
errcheck:
8788
@hash errcheck > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
88-
go get -u github.com/kisielk/errcheck; \
89+
$(GO) get -u github.com/kisielk/errcheck; \
8990
fi
9091
errcheck $(PACKAGES)
9192

9293
.PHONY: lint
9394
lint:
9495
@hash golint > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
95-
go get -u github.com/golang/lint/golint; \
96+
$(GO) get -u github.com/golang/lint/golint; \
9697
fi
9798
for PKG in $(PACKAGES); do golint -set_exit_status $$PKG || exit 1; done;
9899

99100
.PHONY: misspell-check
100101
misspell-check:
101102
@hash misspell > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
102-
go get -u github.com/client9/misspell/cmd/misspell; \
103+
$(GO) get -u github.com/client9/misspell/cmd/misspell; \
103104
fi
104105
misspell -error -i unknwon $(GOFILES)
105106

106107
.PHONY: misspell
107108
misspell:
108109
@hash misspell > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
109-
go get -u github.com/client9/misspell/cmd/misspell; \
110+
$(GO) get -u github.com/client9/misspell/cmd/misspell; \
110111
fi
111112
misspell -w -i unknwon $(GOFILES)
112113

@@ -122,12 +123,12 @@ fmt-check: required-gofmt-version
122123

123124
.PHONY: test
124125
test: fmt-check
125-
go test $(PACKAGES)
126+
$(GO) test $(PACKAGES)
126127

127128
.PHONY: test-coverage
128129
test-coverage: unit-test-coverage integration-test-coverage
129130
@hash gocovmerge > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
130-
go get -u github.com/wadey/gocovmerge; \
131+
$(GO) get -u github.com/wadey/gocovmerge; \
131132
fi
132133
for PKG in $(PACKAGES); do\
133134
touch $$GOPATH/src/$$PKG/coverage.out;\
@@ -139,12 +140,12 @@ test-coverage: unit-test-coverage integration-test-coverage
139140

140141
.PHONY: unit-test-coverage
141142
unit-test-coverage:
142-
for PKG in $(PACKAGES); do go test -cover -coverprofile $$GOPATH/src/$$PKG/coverage.out $$PKG || exit 1; done;
143+
for PKG in $(PACKAGES); do $(GO) test -cover -coverprofile $$GOPATH/src/$$PKG/coverage.out $$PKG || exit 1; done;
143144

144145
.PHONY: test-vendor
145146
test-vendor:
146147
@hash govendor > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
147-
go get -u github.com/kardianos/govendor; \
148+
$(GO) get -u github.com/kardianos/govendor; \
148149
fi
149150
govendor list +unused | tee "$(TMPDIR)/wc-gitea-unused"
150151
[ $$(cat "$(TMPDIR)/wc-gitea-unused" | wc -l) -eq 0 ] || echo "Warning: /!\\ Some vendor are not used /!\\"
@@ -185,26 +186,26 @@ integration-test-coverage: integrations.cover.test
185186
GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/mysql.ini ./integrations.cover.test -test.coverprofile=integration.coverage.out
186187

187188
integrations.test: $(SOURCES)
188-
go test -c code.gitea.io/gitea/integrations
189+
$(GO) test -c code.gitea.io/gitea/integrations
189190

190191
integrations.sqlite.test: $(SOURCES)
191-
go test -c code.gitea.io/gitea/integrations -o integrations.sqlite.test -tags 'sqlite'
192+
$(GO) test -c code.gitea.io/gitea/integrations -o integrations.sqlite.test -tags 'sqlite'
192193

193194
integrations.cover.test: $(SOURCES)
194-
go test -c code.gitea.io/gitea/integrations -coverpkg $(shell echo $(PACKAGES) | tr ' ' ',') -o integrations.cover.test
195+
$(GO) test -c code.gitea.io/gitea/integrations -coverpkg $(shell echo $(PACKAGES) | tr ' ' ',') -o integrations.cover.test
195196

196197
.PHONY: check
197198
check: test
198199

199200
.PHONY: install
200201
install: $(wildcard *.go)
201-
go install -v -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)'
202+
$(GO) install -v -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)'
202203

203204
.PHONY: build
204205
build: $(EXECUTABLE)
205206

206207
$(EXECUTABLE): $(SOURCES)
207-
go build $(GOFLAGS) $(EXTRA_GOFLAGS) -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)' -o $@
208+
$(GO) build $(GOFLAGS) $(EXTRA_GOFLAGS) -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)' -o $@
208209

209210
.PHONY: docker
210211
docker:
@@ -221,7 +222,7 @@ release-dirs:
221222
.PHONY: release-windows
222223
release-windows:
223224
@hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
224-
go get -u github.com/karalabe/xgo; \
225+
$(GO) get -u github.com/karalabe/xgo; \
225226
fi
226227
xgo -dest $(DIST)/binaries -tags 'netgo $(TAGS)' -ldflags '-linkmode external -extldflags "-static" $(LDFLAGS)' -targets 'windows/*' -out gitea-$(VERSION) .
227228
ifeq ($(CI),drone)
@@ -231,7 +232,7 @@ endif
231232
.PHONY: release-linux
232233
release-linux:
233234
@hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
234-
go get -u github.com/karalabe/xgo; \
235+
$(GO) get -u github.com/karalabe/xgo; \
235236
fi
236237
xgo -dest $(DIST)/binaries -tags 'netgo $(TAGS)' -ldflags '-linkmode external -extldflags "-static" $(LDFLAGS)' -targets 'linux/*' -out gitea-$(VERSION) .
237238
ifeq ($(CI),drone)
@@ -241,7 +242,7 @@ endif
241242
.PHONY: release-darwin
242243
release-darwin:
243244
@hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
244-
go get -u github.com/karalabe/xgo; \
245+
$(GO) get -u github.com/karalabe/xgo; \
245246
fi
246247
xgo -dest $(DIST)/binaries -tags 'netgo $(TAGS)' -ldflags '$(LDFLAGS)' -targets 'darwin/*' -out gitea-$(VERSION) .
247248
ifeq ($(CI),drone)
@@ -278,7 +279,7 @@ stylesheets: public/css/index.css
278279
.IGNORE: public/css/index.css
279280
public/css/index.css: $(STYLESHEETS)
280281
@which lessc > /dev/null; if [ $$? -ne 0 ]; then \
281-
go get -u github.com/kib357/less-go/lessc; \
282+
$(GO) get -u github.com/kib357/less-go/lessc; \
282283
fi
283284
lessc -i $< -o $@
284285

0 commit comments

Comments
 (0)