tg-bot-golang

Форк
0
Форк от ella/tg-bot-golang
/
Makefile 
54 строки · 1.5 Кб
1
CURDIR=$(shell pwd)
2
BINDIR=${CURDIR}/bin
3
GOVER=$(shell go version | perl -nle '/(go\d\S+)/; print $$1;')
4
MOCKGEN=${BINDIR}/mockgen_${GOVER}
5
SMARTIMPORTS=${BINDIR}/smartimports_${GOVER}
6
LINTVER=v1.49.0
7
LINTBIN=${BINDIR}/lint_${GOVER}_${LINTVER}
8
PACKAGE=github.com/ellavs/tg-bot-golang/cmd/bot
9

10
all: format build test lint
11

12
build: bindir
13
	go build -o ${BINDIR}/bot ${PACKAGE}
14

15
test:
16
	go test ./...
17

18
run:
19
	go run ${PACKAGE}
20

21
generate: install-mockgen
22
	${MOCKGEN} -source=internal/model/messages/incoming_msg.go -destination=internal/mocks/messages/messages_mocks.go
23
	${MOCKGEN} -source=internal/model/exchangerates/exchangerates.go -destination=internal/mocks/exchangerates/exchangerates_mocks.go
24
	${MOCKGEN} -source=internal/clients/cbr/cbrclient.go -destination=internal/mocks/cbr/cbr_mocks.go
25

26
lint: install-lint
27
	${LINTBIN} run
28

29
precommit: format build test lint
30
	echo "OK"
31

32
bindir:
33
	mkdir -p ${BINDIR}
34

35
format: install-smartimports
36
	${SMARTIMPORTS} -exclude internal/mocks
37

38
install-mockgen: bindir
39
	test -f ${MOCKGEN} || \
40
		(GOBIN=${BINDIR} go install github.com/golang/mock/mockgen@v1.6.0 && \
41
		mv ${BINDIR}/mockgen ${MOCKGEN})
42

43
install-lint: bindir
44
	test -f ${LINTBIN} || \
45
		(GOBIN=${BINDIR} go install github.com/golangci/golangci-lint/cmd/golangci-lint@${LINTVER} && \
46
		mv ${BINDIR}/golangci-lint ${LINTBIN})
47

48
install-smartimports: bindir
49
	test -f ${SMARTIMPORTS} || \
50
		(GOBIN=${BINDIR} go install github.com/pav5000/smartimports/cmd/smartimports@latest && \
51
		mv ${BINDIR}/smartimports ${SMARTIMPORTS})
52

53
docker-run:
54
	sudo docker compose up
55

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.