-
Notifications
You must be signed in to change notification settings - Fork 3
/
Makefile
43 lines (29 loc) · 1.27 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#@IgnoreInspection BashAddShebang
export APP=gurl
export ROOT=$(realpath $(dir $(lastword $(MAKEFILE_LIST))))
export LDFLAGS="-w -s"
all: format lint build
############################################################
# Build and Run
############################################################
build:
CGO_ENABLED=1 go build -ldflags $(LDFLAGS) ./cmd/kenny
install:
CGO_ENABLED=1 go install -ldflags $(LDFLAGS) ./cmd/kenny
############################################################
# Format and Lint
############################################################
check-formatter:
which goimports || GO111MODULE=off go get -u golang.org/x/tools/cmd/goimports
format: check-formatter
find $(ROOT) -type f -name "*.go" -not -path "$(ROOT)/vendor/*" | xargs -n 1 -I R goimports -w R
find $(ROOT) -type f -name "*.go" -not -path "$(ROOT)/vendor/*" | xargs -n 1 -I R gofmt -s -w R
check-linter:
which golangci-lint || GO111MODULE=off curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.23.8
lint: check-linter format
golangci-lint run $(ROOT)/...
############################################################
# Test
############################################################
test:
go test -v -race -p 1 ./...