106 lines
1.9 KiB
YAML
106 lines
1.9 KiB
YAML
# 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
|