voicemeeter-compact/Taskfile.yml

81 lines
2.1 KiB
YAML
Raw Normal View History

2025-02-07 14:53:21 +00:00
version: '3'
vars:
SHELL: pwsh
tasks:
default:
desc: "Prepare artifacts for release"
deps: [release]
release:
desc: "Build and compress all artifacts"
cmds:
- task: build
- task: compress
- echo "Release complete"
build:
desc: "Build all artifacts"
cmds:
- task: build-sunvalley
- echo "Sunvalley build complete"
- task: build-forest
- echo "Forest build complete"
build-sunvalley:
desc: "Build Sunvalley artifacts"
cmds:
- for:
matrix:
KIND: ["basic", "banana", "potato"]
cmd: poetry run pyinstaller --noconfirm --distpath dist/sunvalley-{{.ITEM.KIND}} spec/sunvalley-{{.ITEM.KIND}}.spec
build-forest:
desc: "Build Forest artifacts"
deps: [rewrite]
cmds:
2025-02-07 15:09:36 +00:00
- defer: { task: restore }
2025-02-07 14:53:21 +00:00
- for:
matrix:
KIND: ["basic", "banana", "potato"]
THEME: ["light", "dark"]
cmd: poetry run pyinstaller --noconfirm --distpath dist/forest-{{.ITEM.KIND}}-{{.ITEM.THEME}} spec/forest-{{.ITEM.KIND}}-{{.ITEM.THEME}}.spec
rewrite:
desc: "Run the source code rewriter"
cmds:
- poetry run python tools/rewriter.py --rewrite
restore:
desc: "Restore the backup files"
cmds:
- poetry run python tools/rewriter.py --restore
compress:
deps: [compress-sunvalley, compress-forest]
compress-sunvalley:
cmds:
- for:
matrix:
KIND: ["basic", "banana", "potato"]
cmd: '{{.SHELL}} -Command "Compress-Archive -Path dist/sunvalley-{{.ITEM.KIND}} -DestinationPath dist/sunvalley-{{.ITEM.KIND}}.zip"'
compress-forest:
cmds:
- for:
matrix:
KIND: ["basic", "banana", "potato"]
THEME: ["light", "dark"]
cmd: '{{.SHELL}} -Command "Compress-Archive -Path dist/forest-{{.ITEM.KIND}}-{{.ITEM.THEME}} -DestinationPath dist/forest-{{.ITEM.KIND}}-{{.ITEM.THEME}}.zip"'
clean:
cmds:
- |
{{.SHELL}} -Command "
Remove-Item -Path build/forest-* -Recurse -Force
Remove-Item -Path build/sunvalley-* -Recurse -Force
Remove-Item -Path dist/forest-* -Recurse -Force
Remove-Item -Path dist/sunvalley-* -Recurse -Force"