# 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 soft-serve CGO_ENABLED=0 GOOS={{GOOS}} GOARCH={{GOARCH}} go build -o soft -ldflags "-s -w -X main.version={{VERSION}}" ./cmd/soft run: # Running soft-serve CGO_ENABLED=0 GOOS={{GOOS}} GOARCH={{GOARCH}} go run -ldflags "-s -w -X main.version={{VERSION}}" ./cmd/soft serve pack: # Packing soft-serve upx --best -qo soft.min soft mv soft.min soft clean: # Removing build artifacts rm -rf soft clean-all: # Removing build artifacts and config.toml rm -rf soft data/