# SPDX-FileCopyrightText: Amolith # # SPDX-License-Identifier: CC0-1.0 GOOS := env("GOOS", `go env GOOS`) GOARCH := env("GOARCH", `go env GOARCH`) VERSION := `git describe --long 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g'` default: fmt lint staticcheck test vuln reuse fmt: # Formatting all Go source code go install mvdan.cc/gofumpt@latest gofumpt -l -w . lint: # Linting Go source code golangci-lint run staticcheck: # Performing static analysis go install honnef.co/go/tools/cmd/staticcheck@latest staticcheck ./... test: # Running tests go test -v ./... vuln: # Checking for vulnerabilities go install golang.org/x/vuln/cmd/govulncheck@latest govulncheck ./... reuse: # Linting licenses and copyright headers reuse lint build: # Building lunatask-mcp-server CGO_ENABLED=0 GOOS={{GOOS}} GOARCH={{GOARCH}} go build -o lunatask-mcp-server -ldflags "-s -w -X main.version={{VERSION}}" . run: # Running lunatask-mcp-server CGO_ENABLED=0 GOOS={{GOOS}} GOARCH={{GOARCH}} go run -ldflags "-s -w -X main.version={{VERSION}}" . pack: # Packing lunatask-mcp-server upx --best -qo lunatask-mcp-server.min lunatask-mcp-server mv lunatask-mcp-server.min lunatask-mcp-server clean: # Removing build artifacts rm -rf lunatask-mcp-server clean-all: # Removing build artifacts and config.toml rm -rf lunatask-mcp-server config.toml