utils/Taskfile.yml
2025-09-03 11:24:23 -05:00

133 lines
2.4 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
- 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-mkflex:
desc: Builds the mkflex command
sources:
- cmd/mkflex/**/*.go
- cli/**/*.go
- convids/**/*.go
- internal/cli/mkflex/**/*.go
- mkflex/**/*.go
- types/**/*.go
generates:
- builds/mkflex
cmds:
- task: cmd-build
vars:
CMD: mkflex
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-mkflex:
desc: Installs the mkflex command
source:
- cmd/mkflex/**/*.go
- cli/**/*.go
- convids/**/*.go
- internal/cli/mkflex/**/*.go
- mkflex/**/*.go
- types/**/*.go
generates:
- '{{.BIN}}/mkflex'
cmds:
- go install ./cmd/mkflex
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