version: '3' vars: SHELL: pwsh tasks: default: desc: Prepare artifacts for release cmds: - task: release release: desc: Build and compress all artifacts cmds: - task: build - task: compress generate-specs: desc: Generate all spec files from templates cmd: pdm run python tools/spec_generator.py build: desc: Build the project deps: [generate-specs] cmds: - for: matrix: KIND: [basic, banana, potato] cmd: pdm run pyinstaller --noconfirm --distpath dist/{{.ITEM.KIND}} spec/{{.ITEM.KIND}}.spec compress: desc: Compress the build artifacts cmds: - for: matrix: KIND: [basic, banana, potato] cmd: '{{.SHELL}} -Command "Compress-Archive -Path dist/{{.ITEM.KIND}} -DestinationPath dist/{{.ITEM.KIND}}.zip -Force"' clean: desc: Clean the project cmds: - | {{.SHELL}} -Command "Remove-Item -Path build/*,dist/* -Recurse -Force -ErrorAction SilentlyContinue"