# https://taskfile.dev version: '3' vars: GOBIN_ENV: sh: go env GOBIN GOPATH_ENV: sh: go env GOPATH BIN: '{{if .GOBIN_ENV}}{{.GOBIN_ENV}}{{else}}{{.GOPATH_ENV}}/bin{{end}}' tasks: default: desc: fmt, vet, and build deps: - fmt - analyze - build-all fmt: desc: Format go files sources: - "**/*.go" cmds: - go fmt ./... vet: desc: Vet go code sources: - '**/*.go' cmds: - go vet ./... critic: desc: Critique go code sources: - '**/*.go' cmds: - gocritic check ./... staticcheck: desc: Static check go code sources: - '**/*.go' cmds: - staticcheck ./... analyze: desc: Do static analysis deps: - vet - critic - staticcheck cmd-build: internal: true cmds: - go build -o build/ ./cmd/{{.CMD}} build-convids: desc: Builds the convids command sources: - cmd/convids/**/*.go - convids/**/*.go - cli/err/*go generates: - build/convids cmds: - task: cmd-build vars: CMD: convids build-cool-down: desc: Builds the cool-down command source: - cmd/cool-down/**/*.go - chill/*.go - cli/err/*.go - cli/spin/*.go generates: - build/cool-down cmds: - task: cmd-build vars: CMD: cool-down build-all: desc: Builds all available commands sources: - "**/*.go" generates: - build/convids - build/cool-down cmds: - task: cmd-build vars: CMD: "*" install-cool-down: desc: Installs the cool-down command source: - cmd/cool-down/**/*.go - chill/*.go - cli/context/*.go - cli/err/*.go - cli/spin/*.go - go.mod - go.sum generates: - '{{.BIN}}/cool-down' cmds: - go install ./cmd/cool-down