add generate-specs to azure/forest Taskfiles

ensure generate-specs is run before build tasks.
This commit is contained in:
Onyx and Iris 2026-03-31 10:50:39 +01:00
parent 5258671a79
commit 428db10b8f
3 changed files with 25 additions and 6 deletions

3
.gitignore vendored
View File

@ -224,6 +224,9 @@ spec/**/*
!spec/*/
!spec/**/.gitkeep
# Backup files
tools/src/*.bk
# Taskfile build files
Taskfile.unified.yml
SPEC_CONSOLIDATION.md

View File

@ -3,24 +3,32 @@ version: '3'
tasks:
build:
desc: Build Azure artifacts
deps: [rewrite]
deps: [generate-specs, rewrite]
cmds:
- defer: { task: restore }
- for:
matrix:
KIND: [basic, banana, potato]
THEME: [azure-light, azure-dark]
cmd: poetry run pyinstaller --noconfirm --distpath dist/{{.ITEM.THEME}}-{{.ITEM.KIND}} spec/azure/{{.ITEM.THEME}}-{{.ITEM.KIND}}.spec
cmd: poetry run pyinstaller --noconfirm --distpath dist/{{.ITEM.THEME}}-{{.ITEM.KIND}} spec/{{.THEME}}/{{.ITEM.THEME}}-{{.ITEM.KIND}}.spec
generate-specs:
desc: Generate all spec files from templates
cmds:
- poetry run python tools/spec_generator.py --clean
internal: true
rewrite:
desc: Run the source code rewriter
cmds:
- poetry run python tools/rewriter.py --rewrite --theme {{.THEME}}
internal: true
restore:
desc: Restore the backup files
cmds:
- poetry run python tools/rewriter.py --restore
internal: true
compress:
desc: Compress Azure artifacts
@ -35,4 +43,4 @@ tasks:
desc: Clean build and dist directories
cmds:
- |
{{.SHELL}} -Command "Remove-Item -Path build/azure-*,dist/azure-* -Recurse -Force"
{{.SHELL}} -Command "Remove-Item -Path build/{{.THEME}}-*,dist/{{.THEME}}-* -Recurse -Force"

View File

@ -3,24 +3,32 @@ version: '3'
tasks:
build:
desc: Build Forest artifacts
deps: [rewrite]
deps: [generate-specs, rewrite]
cmds:
- defer: { task: restore }
- for:
matrix:
KIND: [basic, banana, potato]
THEME: [forest-light, forest-dark]
cmd: poetry run pyinstaller --noconfirm --distpath dist/{{.ITEM.THEME}}-{{.ITEM.KIND}} spec/forest/{{.ITEM.THEME}}-{{.ITEM.KIND}}.spec
cmd: poetry run pyinstaller --noconfirm --distpath dist/{{.ITEM.THEME}}-{{.ITEM.KIND}} spec/{{.THEME}}/{{.ITEM.THEME}}-{{.ITEM.KIND}}.spec
generate-specs:
desc: Generate all spec files from templates
cmds:
- poetry run python tools/spec_generator.py --clean
internal: true
rewrite:
desc: Run the source code rewriter
cmds:
- poetry run python tools/rewriter.py --rewrite --theme {{.THEME}}
internal: true
restore:
desc: Restore the backup files
cmds:
- poetry run python tools/rewriter.py --restore
internal: true
compress:
desc: Compress Forest artifacts
@ -35,4 +43,4 @@ tasks:
desc: Clean build and dist directories
cmds:
- |
{{.SHELL}} -Command "Remove-Item -Path build/forest-*,dist/forest-* -Recurse -Force"
{{.SHELL}} -Command "Remove-Item -Path build/{{.THEME}}-*,dist/{{.THEME}}-* -Recurse -Force"