version: '3' # Dynamic build system - no spec files needed! # Examples: # - task build THEMES="azure forest" # - task build-all # THEMES can be specified as a space-separated list or "all" to build everything. # # Compression tasks are also dynamic and can be used like: # Usage examples: # task compress THEME=azure # task compress-all vars: THEMES: '{{.THEMES | default "all"}}' SHELL: pwsh tasks: build: desc: Build specified themes dynamically (no spec files needed) cmds: - ${POETRY_BIN:-poetry} run python tools/dynamic_builder.py {{.THEMES}} build-all: desc: Build all themes cmds: - ${POETRY_BIN:-poetry} run python tools/dynamic_builder.py all build-azure: desc: Build only azure theme cmds: - ${POETRY_BIN:-poetry} run python tools/dynamic_builder.py azure build-forest: desc: Build only forest theme cmds: - ${POETRY_BIN:-poetry} run python tools/dynamic_builder.py forest build-sunvalley: desc: Build only sunvalley theme cmds: - ${POETRY_BIN:-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"