-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTaskfile.yml
124 lines (103 loc) · 2.97 KB
/
Taskfile.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
version: '3'
includes:
base:
taskfile: ./compiler-base
dir: ./compiler-base
core:
taskfile: ./compiler-core
dir: ./compiler-core
wasm:
taskfile: ./compiler-wasm
dir: ./compiler-wasm
docs:
taskfile: ./docs
dir: ./docs
client:
taskfile: ./web-client
aliases: [c]
dir: ./web-client
server:
taskfile: ./server
aliases: [s]
dir: ./server
themes:
taskfile: ./web-themes
aliases: [th]
dir: ./web-themes
docker:
taskfile: ./docker
dir: ./docker
tasks:
install:
desc: Install development dependencies and packages
cmds:
- rustup update
- cargo install cargo-watch cargo-expand wasm-pack regen-lang
- cargo install txtpp
- cargo install magoo
- magoo install
- task: themes:install
- task: docs:install
- task: client:install
check:
desc: Check issues in all packages
deps: [check:ts, check:rs]
check:ts:
cmds:
- task: docs:check
- task: client:check
- task: themes:check
fix:ts:
cmds:
- task: docs:fix
- task: client:fix
- task: themes:fix
check:rs:
deps: [base:grammar]
vars:
CLIPPY_FLAGS: -D warnings -D clippy::todo -A clippy::empty_docs
cmds:
- cargo clippy --package compiler-macros --all-targets -- {{.CLIPPY_FLAGS}}
- cargo clippy --package compiler-base --features native --all-targets -- {{.CLIPPY_FLAGS}}
- cargo clippy --package compiler-base --features wasm --all-targets -- {{.CLIPPY_FLAGS}}
- cargo clippy --package compiler-core --features native --all-targets -- {{.CLIPPY_FLAGS}}
- cargo clippy --package compiler-core --features wasm --all-targets -- {{.CLIPPY_FLAGS}}
- cargo clippy --package compiler-wasm --all-targets -- {{.CLIPPY_FLAGS}}
- cargo clippy --package celery --all-targets -- {{.CLIPPY_FLAGS}}
- cargo clippy --package celery-boot --all-targets -- {{.CLIPPY_FLAGS}}
- cargo fmt --check
fix:rs:
cmds:
- cargo fmt --all
build:
desc: Build production assets
deps:
- docs:build
- build:client
build:client:
deps:
- themes:build
- build:wasm
cmds:
- task: client:build
build:wasm:
dir: ./compiler-wasm/build
deps:
- base:grammar
cmds:
- cargo run --bin buildwasm --release
build:server:
desc: Build server release package (including bootstrap binary)
deps:
- base:grammar
cmds:
- rm -rf bin
- mkdir -p bin
- cargo build --manifest-path server/Cargo.toml --bin celery --release --target x86_64-unknown-linux-musl
- cp target/x86_64-unknown-linux-musl/release/celery bin
- cargo build --manifest-path server/boot/Cargo.toml --bin celery-boot --release --target x86_64-unknown-linux-musl
- cp target/x86_64-unknown-linux-musl/release/celery-boot bin
env:server:
desc: export the nvim lsp environment variables for server development. Run as `eval $(task env:server)`
cmds:
- echo "export LSP_RUST_ANALYZER_EXTRA_ARGS='--exclude compiler-wasm'"