### dev tools devtools: @echo "Installing devtools" go install golang.org/x/tools/cmd/goimports@latest go install mvdan.cc/gofumpt@latest go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest go install go.uber.org/mock/mockgen@latest go install github.com/bufbuild/buf/cmd/buf@latest ### mock mock: mockgen -source=./pkg/client/interface.go -destination=./pkg/client/mock.go -package=client mockgen -source=./pkg/wallet/interface.go -destination=./pkg/wallet/mock.go -package=wallet mockgen -source=./pkg/nowpayments/interface.go -destination=./pkg/nowpayments/mock.go -package=nowpayments ### proto file generate proto: rm -rf grpc/gen/go cd grpc/buf && buf generate --template buf.gen.yaml ../proto ### Formatting, linting, and vetting fmt: gofumpt -l -w . go mod tidy check: golangci-lint run --timeout=20m0s ### Testing test: go test ./... -covermode=atomic ### building build: build-cli build-discord build-grpc build-telegram build-http build-cli: go build -o build/pagu-cli ./cmd/cli build-discord: go build -o build/pagu-discord ./cmd/discord build-grpc: go build -o build/pagu-grpc ./cmd/grpc build-telegram: go build -o build/pagu-telegram ./cmd/telegram build-http: go build -o build/pagu-http ./cmd/http ### Generating commands gen: go run ./internal/generator/main.go \ "./internal/engine/command/crowdfund/crowdfund.yml" \ "./internal/engine/command/voucher/voucher.yml" \ "./internal/engine/command/market/market.yml" \ "./internal/engine/command/calculator/calculator.yml" \ "./internal/engine/command/network/network.yml" \ "./internal/engine/command/phoenix/phoenix.yml" \ find . -name "*.gen.go" -exec gofumpt -l -w {} + ### .PHONY: devtools mock proto fmt check test build build-cli build-discord build-grpc build-telegram build-http gen