# https://taskfile.dev version: '3' tasks: dev: desc: 👨🏻‍💻 run coco in «dev» mode cmds: - cargo watch -c -x "run -- --no-stage-check" build:watch: desc: ⚡ watch coco «build» cmds: - cargo watch -c -x "build" build: desc: ⚡ build coco «release» and check the size cmds: - cargo build --release - python check_size.py fmt: desc: 🎨 format coco cmds: - cargo +nightly fmt --all fmt:check: desc: 🎨 check coco formatting cmds: - cargo +nightly fmt --all --check lint: desc: 🧶 lint coco cmds: - cargo clippy --fix --allow-staged lint:check: desc: 🧶 check coco linting cmds: - cargo clippy fmt+lint: desc: 🎨🧶 format and lint coco cmds: - task fmt - git add . - task lint i18n: desc: 🌍 search untranslated strings cmds: - cargo i18n release:patch: desc: 🚀 release coco cmds: - cargo release patch --config .github/cfg/release.toml --execute --no-confirm --package rs-coco release:minor: desc: 🚀 release coco cmds: - cargo release minor --config .github/cfg/release.toml --execute --no-confirm --package rs-coco release:major: desc: 🚀 release coco cmds: - cargo release major --config .github/cfg/release.toml --execute --no-confirm --package rs-coco changelog:unreleased: desc: 📝 generate changelog cmds: - git cliff -c .github/cfg/cliff.toml -o "CHANGELOG.md" changelog:version: desc: 📝 generate changelog vars: version: '{{.version | default ""}}' cmds: - '{{if eq .version ""}}false{{else}}git cliff -c .github/cfg/cliff.toml --tag "v{{.version}}" -o "CHANGELOG.md"{{end}}' changelog: desc: 📝 generate changelog vars: version: '{{.version | default ""}}' add: '{{if eq .add "true"}}true{{else}}false{{end}}' cmds: - '{{if eq .version ""}}false{{else}}task changelog:version version="v{{.version}}"{{end}}' - '{{if eq .add "true"}}git add CHANGELOG.md{{end}}'