# https://taskfile.dev version: '3' includes: deps: taskfile: dependencies.yml test: taskfile: tests.yml docker: taskfile: docker.yml proto: taskfile: proto.yml compose: taskfile: compose.yml db: taskfile: database.yml vars: CONTEXT: .. OUT_DIR: out OUT_FILE: "{{.OUT_DIR}}/main_grpc" tasks: generate: deps: - db:generate - proto:generate dev: deps: - generate cmds: - go run {{.PROJECT_MAIN}} build: deps: - generate cmds: - go build -o {{.OUT_FILE}} {{.PROJECT_MAIN}} start: deps: - build cmds: - ./{{.OUT_FILE}} lint: cmds: - task code:lint - task db:lint - task yaml:lint - task docker:lint - task compose:lint - task shell:lint - task proto:lint lint:fix: cmds: - task code:lint:fix - task proto:lint:fix code:lint: cmds: - golangci-lint run code:lint:fix: cmds: - gofmt -w . yaml:lint: cmds: - yamllint . -s shell:lint: cmds: - shellcheck --shell=sh scripts/install-deps.sh docs: cmds: - godoc -http=:6060