wails/v3/Taskfile.yaml
Lea Anthony 5367d056e2
Taskfile Refactor (#3748)
* Refactor taskfile

* Fix escaping

* Fix event error

* Fix dev mode

* Fixes for Windows

* Add docs. Improve docs build system

* Update v3/internal/commands/build_assets/Taskfile.darwin.yml

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update v3/internal/commands/build_assets/Taskfile.linux.yml

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Improve docs

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-09-21 20:49:25 +10:00

204 lines
5 KiB
YAML

# https://taskfile.dev
version: "3"
includes:
generator:
taskfile: ./internal/generator
dir: ./internal/generator
runtime:
taskfile: ./internal/runtime
dir: ./internal/runtime
website:
taskfile: ./website
dir: ./website
optional: true
docs:
taskfile: ../mkdocs-website
dir: ../mkdocs-website
optional: true
tasks:
recreate-template-dir:
dir: internal/templates
internal: true
silent: true
cmds:
- rm -rf {{.TEMPLATE_DIR}}
- mkdir -p {{.TEMPLATE_DIR}}
cli:install:
dir: cmd/wails3
cmds:
- go install
- echo "Installed wails CLI"
generate:template:
dir: internal/templates/{{.TEMPLATE}}
deps:
- task: recreate-template-dir
vars:
TEMPLATE_DIR: "{{.TEMPLATE}}"
silent: true
cmds:
- cmd: pnpm create vite frontend --template {{.TEMPLATE}}
- cmd: cp -rf ../_base/{{.TEMPLATE}}/* .
ignore_error: true
- cmd: cp -rf ../_base/default/* .
ignore_error: true
- cmd: rm frontend/public/vite.svg
- cmd: go run ../../../tasks/sed/sed.go replace -dir frontend -old Vite -new Wails -ext .ts,.js,.html -ignore vite.config.js,vite.config.ts,vite-env.d.ts
- cmd: go run ../../../tasks/sed/sed.go replace -dir frontend -old vite -new wails -ext .ts,.js,.html -ignore vite.config.js,vite.config.ts,vite-env.d.ts
- cmd: go run ../../../tasks/sed/sed.go replace -dir frontend -old wails.svg -new wails.png -ext .ts,.js,.html -ignore vite.config.js,vite.config.ts,vite-env.d.ts
- cmd: go run ../../../tasks/sed/sed.go replace -dir frontend -old wailsjs.dev -new wails.io -ext .ts,.js,.html -ignore vite.config.js,vite.config.ts,vite-env.d.ts
- cmd: go run ../../../tasks/sed/sed.go replace -dir frontend -old "framework powered by Wails" -new "framework powered by Vite" -ext .ts,.js,.html,.svelte -ignore vite.config.js,vite.config.ts,vite-env.d.ts
release:
summary: Release a new version of Wails. Call with `task v3:release -- <version>`
dir: tasks/release
cmds:
- go run release.go {{.CLI_ARGS}}
taskfile:upgrade:
cmds:
- go get -u github.com/go-task/task/v3
reinstall-cli:
dir: cmd/wails
internal: true
cmds:
- go install
- echo "Reinstalled wails CLI"
generate:events:
dir: tasks/events
cmds:
- go run generate.go
generate:templates:
dir: internal/templates/
deps:
- task: generate:template
vars:
TEMPLATE: svelte
- task: generate:template
vars:
TEMPLATE: svelte-ts
- task: generate:template
vars:
TEMPLATE: vue
- task: generate:template
vars:
TEMPLATE: vue-ts
- task: generate:template
vars:
TEMPLATE: react
- task: generate:template
vars:
TEMPLATE: react-ts
- task: generate:template
vars:
TEMPLATE: preact
- task: generate:template
vars:
TEMPLATE: preact-ts
- task: generate:template
vars:
TEMPLATE: lit
- task: generate:template
vars:
TEMPLATE: lit-ts
- task: generate:template
vars:
TEMPLATE: vanilla
- task: generate:template
vars:
TEMPLATE: vanilla-ts
- task: generate:template
vars:
TEMPLATE: react-swc
- task: generate:template
vars:
TEMPLATE: react-swc-ts
cmds:
- task: reinstall-cli
- echo "Generated templates"
format:md:
dir: ../mkdocs-website
cmds:
- npx prettier --write "**/*.md"
format:
cmds:
- task: format:md
precommit:
cmds:
- go test ./...
- task: format
# - task: docs:update:api
test:example:darwin:
dir: 'examples/{{.DIR}}'
platforms:
- darwin
cmds:
- echo "Building example {{.DIR}}"
- go mod tidy
- go build -o "testbuild-{{.DIR}}{{exeExt}}"
env:
CGO_LDFLAGS: -framework UniformTypeIdentifiers -mmacosx-version-min=10.13
CGO_CFLAGS: -mmacosx-version-min=10.13
test:example:notdarwin:
dir: 'examples/{{.DIR}}'
platforms:
- linux
- windows
cmds:
- echo "Building example {{.DIR}}"
- go mod tidy
- go build -o "testbuild-{{.DIR}}{{exeExt}}"
test:examples:
summary: Builds the examples
dir: examples
vars:
EXAMPLEDIRS: |
binding
build
clipboard
contextmenus
dialogs
drag-n-drop
environment
events
frameless
hide-window
ignore-mouse
keybindings
menu
plain
raw-message
screen
services
show-macos-toolbar
systray
video
window
window-api
wml
cmds:
- for: { var: EXAMPLEDIRS }
task: test:example:darwin
vars:
DIR: "{{.ITEM}}"
- for: { var: EXAMPLEDIRS }
task: test:example:notdarwin
vars:
DIR: "{{.ITEM}}"