mirror of
https://github.com/go-micro/go-micro.git
synced 2026-04-30 19:15:24 +02:00
59 lines
1.6 KiB
Makefile
59 lines
1.6 KiB
Makefile
.PHONY: test test-race test-coverage lint fmt install-tools proto clean help
|
|
|
|
# Default target
|
|
help:
|
|
@echo "Go Micro Development Tasks"
|
|
@echo ""
|
|
@echo " make test - Run tests"
|
|
@echo " make test-race - Run tests with race detector"
|
|
@echo " make test-coverage - Run tests with coverage"
|
|
@echo " make lint - Run linter"
|
|
@echo " make fmt - Format code"
|
|
@echo " make install-tools - Install development tools"
|
|
@echo " make proto - Generate protobuf code"
|
|
@echo " make clean - Clean build artifacts"
|
|
|
|
# Run tests
|
|
test:
|
|
go test -v ./...
|
|
|
|
# Run tests with race detector
|
|
test-race:
|
|
go test -v -race ./...
|
|
|
|
# Run tests with coverage
|
|
test-coverage:
|
|
go test -v -race -coverprofile=coverage.out -covermode=atomic ./...
|
|
go tool cover -html=coverage.out -o coverage.html
|
|
@echo "Coverage report: coverage.html"
|
|
|
|
# Run linter
|
|
lint:
|
|
golangci-lint run
|
|
|
|
# Format code
|
|
fmt:
|
|
gofmt -s -w .
|
|
goimports -w .
|
|
|
|
# Install development tools
|
|
install-tools:
|
|
@echo "Installing development tools..."
|
|
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
|
|
go install golang.org/x/tools/cmd/goimports@latest
|
|
go install github.com/kyoh86/richgo@latest
|
|
go install go-micro.dev/v5/cmd/protoc-gen-micro@latest
|
|
@echo "Tools installed successfully"
|
|
|
|
# Generate protobuf code
|
|
proto:
|
|
@echo "Generating protobuf code..."
|
|
find . -name "*.proto" -not -path "./vendor/*" -exec protoc --proto_path=. --micro_out=. --go_out=. {} \;
|
|
|
|
# Clean build artifacts
|
|
clean:
|
|
rm -f coverage.out coverage.html
|
|
find . -name "*.test" -type f -delete
|
|
go clean -cache -testcache
|
|
|