Skip to content

Commit 8e92a25

Browse files
committed
makefile
1 parent 00753eb commit 8e92a25

1 file changed

Lines changed: 77 additions & 0 deletions

File tree

makefile

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
SHELL := $(shell which bash)
2+
3+
NO_COLOR := \033[0m
4+
OK_COLOR := \033[32;01m
5+
ERR_COLOR := \033[31;01m
6+
WARN_COLOR := \033[36;01m
7+
ATTN_COLOR := \033[33;01m
8+
9+
GOOS := $(shell go env GOOS)
10+
GOARCH := $(shell go env GOARCH)
11+
GOPRIVATE := "github.com/aserto-dev"
12+
DOCKER_BUILDKIT := 1
13+
14+
SVU_VERSION := 1.12.0
15+
GOTESTSUM_VERSION := 1.11.0
16+
GOLANGCI-LINT_VERSION := 1.56.2
17+
18+
EXT_DIR := ./.ext
19+
EXT_BIN_DIR := ${EXT_DIR}/bin
20+
EXT_TMP_DIR := ${EXT_DIR}/tmp
21+
22+
.PHONY: deps
23+
deps: info install-golangci-lint install-gotestsum
24+
@echo -e "$(ATTN_COLOR)==> $@ $(NO_COLOR)"
25+
26+
.PHONY: generate
27+
generate:
28+
@echo -e "$(ATTN_COLOR)==> $@ $(NO_COLOR)"
29+
@go generate ./...
30+
31+
.PHONY: lint
32+
lint:
33+
@echo -e "$(ATTN_COLOR)==> $@ $(NO_COLOR)"
34+
@${EXT_BIN_DIR}/golangci-lint run --config ${PWD}/.golangci.yaml
35+
36+
.PHONY: test
37+
test:
38+
@echo -e "$(ATTN_COLOR)==> $@ $(NO_COLOR)"
39+
@${EXT_BIN_DIR}/gotestsum --format short-verbose -- -count=1 -v ./...;
40+
41+
.PHONY: info
42+
info:
43+
@echo -e "$(ATTN_COLOR)==> $@ $(NO_COLOR)"
44+
@echo "GOOS: ${GOOS}"
45+
@echo "GOARCH: ${GOARCH}"
46+
@echo "EXT_BIN_DIR: ${EXT_BIN_DIR}"
47+
@echo "EXT_TMP_DIR: ${EXT_TMP_DIR}"
48+
49+
.PHONY: install-gotestsum
50+
install-gotestsum: ${EXT_TMP_DIR} ${EXT_BIN_DIR}
51+
@echo -e "$(ATTN_COLOR)==> $@ $(NO_COLOR)"
52+
@gh release download v${GOTESTSUM_VERSION} --repo https://github.com/gotestyourself/gotestsum --pattern "gotestsum_${GOTESTSUM_VERSION}_${GOOS}_${GOARCH}.tar.gz" --output "${EXT_TMP_DIR}/gotestsum.tar.gz" --clobber
53+
@tar -xvf ${EXT_TMP_DIR}/gotestsum.tar.gz --directory ${EXT_BIN_DIR} gotestsum &> /dev/null
54+
@chmod +x ${EXT_BIN_DIR}/gotestsum
55+
@${EXT_BIN_DIR}/gotestsum --version
56+
57+
.PHONY: install-golangci-lint
58+
install-golangci-lint: ${EXT_TMP_DIR} ${EXT_BIN_DIR}
59+
@echo -e "$(ATTN_COLOR)==> $@ $(NO_COLOR)"
60+
@gh release download v${GOLANGCI-LINT_VERSION} --repo https://github.com/golangci/golangci-lint --pattern "golangci-lint-${GOLANGCI-LINT_VERSION}-${GOOS}-${GOARCH}.tar.gz" --output "${EXT_TMP_DIR}/golangci-lint.tar.gz" --clobber
61+
@tar --strip=1 -xvf ${EXT_TMP_DIR}/golangci-lint.tar.gz --strip-components=1 --directory ${EXT_TMP_DIR} &> /dev/null
62+
@mv ${EXT_TMP_DIR}/golangci-lint ${EXT_BIN_DIR}/golangci-lint
63+
@chmod +x ${EXT_BIN_DIR}/golangci-lint
64+
@${EXT_BIN_DIR}/golangci-lint --version
65+
66+
.PHONY: clean
67+
clean:
68+
@echo -e "$(ATTN_COLOR)==> $@ $(NO_COLOR)"
69+
@rm -rf ./.ext
70+
71+
${EXT_BIN_DIR}:
72+
@echo -e "$(ATTN_COLOR)==> $@ $(NO_COLOR)"
73+
@mkdir -p ${EXT_BIN_DIR}
74+
75+
${EXT_TMP_DIR}:
76+
@echo -e "$(ATTN_COLOR)==> $@ $(NO_COLOR)"
77+
@mkdir -p ${EXT_TMP_DIR}

0 commit comments

Comments
 (0)