# 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 - lint - build-all fmt: desc: Format go files sources: - "**/*.go" cmds: - go fmt ./... lint: desc: Statically analyze code sources: - '**/*.go' cmds: - golangci-lint run cmd-build: internal: true cmds: - go build -o build/ ./cmd/{{.CMD}} build-convids: desc: Builds the convids command sources: - '**/*.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 install-ic-merge: desc: Installs the ic-merge command source: - go.mod - go.sum - cmd/ic-merge/**/*.go - cli/context/*.go - cli/err/*.go - infinitecraft/**/*.go generates: - '{{.BIN}}/ic-merge' cmds: - go install ./cmd/ic-merge