version: '3' # Dynamic build system - no spec files needed! # Usage: task build THEMES="azure forest" or task build-all vars: THEMES: '{{.THEMES | default "all"}}' SHELL: pwsh tasks: build: desc: Build specified themes dynamically (no spec files needed) cmds: - poetry run python tools/dynamic_builder.py {{.THEMES}} build-all: desc: Build all themes cmds: - poetry run python tools/dynamic_builder.py all build-azure: desc: Build only azure theme cmds: - poetry run python tools/dynamic_builder.py azure build-forest: desc: Build only forest theme cmds: - poetry run python tools/dynamic_builder.py forest build-sunvalley: desc: Build only sunvalley theme cmds: - poetry run python tools/dynamic_builder.py sunvalley compress: desc: Compress artifacts for specified theme cmds: - task: compress-{{.THEME}} compress-all: desc: Compress artifacts for all themes cmds: - for: matrix: THEME: [azure, forest, sunvalley] task: compress-{{.ITEM.THEME}} compress-azure: cmds: - for: matrix: KIND: [basic, banana, potato] VARIANT: [azure-light, azure-dark] cmd: '{{.SHELL}} -Command "Compress-Archive -Path dist/{{.ITEM.VARIANT}}-{{.ITEM.KIND}} -DestinationPath dist/{{.ITEM.VARIANT}}-{{.ITEM.KIND}}.zip -Force"' compress-forest: cmds: - for: matrix: KIND: [basic, banana, potato] VARIANT: [forest-light, forest-dark] cmd: '{{.SHELL}} -Command "Compress-Archive -Path dist/{{.ITEM.VARIANT}}-{{.ITEM.KIND}} -DestinationPath dist/{{.ITEM.VARIANT}}-{{.ITEM.KIND}}.zip -Force"' 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 -Force"' clean: desc: Clean all build artifacts cmds: - | {{.SHELL}} -Command "Remove-Item -Path build/*,dist/* -Recurse -Force -ErrorAction SilentlyContinue"