Blacksite/.vscode/tasks.json

290 lines
7.8 KiB
JSON

{
"version": "2.0.0",
"tasks": [
{
"label": "cargo fmt (workspace check)",
"type": "cargo",
"command": "fmt",
"args": ["--all", "--check"],
"problemMatcher": [],
"group": "build"
},
{
"label": "cargo check (workspace all targets)",
"type": "cargo",
"command": "check",
"args": ["--workspace", "--all-targets"],
"problemMatcher": ["$rustc"],
"group": "build"
},
{
"label": "cargo clippy (workspace strict)",
"type": "cargo",
"command": "clippy",
"args": ["--workspace", "--all-targets", "--", "-D", "warnings"],
"problemMatcher": ["$rustc"],
"group": "build"
},
{
"label": "cargo test (workspace)",
"type": "cargo",
"command": "test",
"args": ["--workspace"],
"problemMatcher": ["$rustc"],
"group": "test"
},
{
"label": "cargo clippy (launch feature matrix)",
"type": "cargo",
"command": "clippy",
"args": [
"-p",
"editor",
"-p",
"game",
"--bins",
"--features",
"dev,hot-reload",
"--",
"-D",
"warnings"
],
"problemMatcher": ["$rustc"],
"group": "build"
},
{
"label": "validate level scenes",
"type": "cargo",
"command": "validate-levels",
"args": [],
"problemMatcher": ["$rustc"],
"group": "test"
},
{
"label": "build game (debug)",
"type": "cargo",
"command": "build",
"args": ["-p", "game", "--bin", "game"],
"problemMatcher": ["$rustc"],
"group": "build"
},
{
"label": "build editor (debug)",
"type": "cargo",
"command": "build",
"args": ["-p", "editor", "--bin", "editor"],
"problemMatcher": ["$rustc"],
"group": "build"
},
{
"label": "build editor (dev fast-link)",
"type": "cargo",
"command": "build",
"args": ["-p", "editor", "--bin", "editor", "--features", "dev"],
"options": {
"cwd": "${workspaceFolder}",
"env": { "CARGO_TARGET_DIR": "${workspaceFolder}/target" }
},
"problemMatcher": ["$rustc"],
"group": { "kind": "build", "isDefault": true }
},
{
"label": "build game (dev fast-link)",
"type": "cargo",
"command": "build",
"args": ["-p", "game", "--bin", "game", "--features", "dev"],
"options": {
"cwd": "${workspaceFolder}",
"env": { "CARGO_TARGET_DIR": "${workspaceFolder}/target" }
},
"problemMatcher": ["$rustc"],
"group": "build"
},
{
"label": "clean dev-link crates",
"type": "cargo",
"command": "clean",
"args": ["-p", "editor", "-p", "game", "-p", "game_hot", "-p", "shared"],
"options": {
"cwd": "${workspaceFolder}",
"env": { "CARGO_TARGET_DIR": "${workspaceFolder}/target" }
},
"problemMatcher": []
},
{
"label": "clean build editor (dev)",
"dependsOrder": "sequence",
"dependsOn": ["clean dev-link crates", "build editor (dev fast-link)"],
"problemMatcher": [],
"group": "build"
},
{
"label": "target cleanup (dry run)",
"type": "shell",
"command": "cargo clean-target",
"options": {
"cwd": "${workspaceFolder}",
"env": { "CARGO_TARGET_DIR": "${workspaceFolder}/target" }
},
"problemMatcher": [],
"group": "build"
},
{
"label": "target cleanup (safe apply)",
"type": "shell",
"command": "cargo clean-target --apply",
"options": {
"cwd": "${workspaceFolder}",
"env": { "CARGO_TARGET_DIR": "${workspaceFolder}/target" }
},
"problemMatcher": [],
"group": "build"
},
{
"label": "target cleanup (deep stale, 3 days)",
"type": "shell",
"command": "cargo clean-target --include-artifacts --days 3 --apply",
"options": {
"cwd": "${workspaceFolder}",
"env": { "CARGO_TARGET_DIR": "${workspaceFolder}/target" }
},
"problemMatcher": [],
"group": "build"
},
{
"label": "run editor (dev fast-link)",
"type": "cargo",
"command": "run",
"args": ["-p", "editor", "--bin", "editor", "--features", "dev"],
"options": {
"cwd": "${workspaceFolder}",
"env": {
"RUST_BACKTRACE": "1",
"WGPU_VALIDATION": "0",
"CARGO_TARGET_DIR": "${workspaceFolder}/target"
}
},
"problemMatcher": ["$rustc"],
"group": "build"
},
{
"label": "run game (dev fast-link)",
"type": "cargo",
"command": "run",
"args": ["-p", "game", "--bin", "game", "--features", "dev"],
"options": {
"cwd": "${workspaceFolder}",
"env": {
"RUST_BACKTRACE": "1",
"WGPU_VALIDATION": "0",
"CARGO_TARGET_DIR": "${workspaceFolder}/target"
}
},
"problemMatcher": ["$rustc"],
"group": "build"
},
{
"label": "run editor (hot reload)",
"type": "cargo",
"command": "run",
"args": [
"-p",
"editor",
"--bin",
"editor",
"--features",
"dev,hot-reload"
],
"options": {
"cwd": "${workspaceFolder}",
"env": {
"RUST_BACKTRACE": "1",
"WGPU_VALIDATION": "0",
"CARGO_TARGET_DIR": "${workspaceFolder}/target"
}
},
"problemMatcher": ["$rustc"],
"group": "build"
},
{
"label": "run game (hot reload)",
"type": "cargo",
"command": "run",
"args": ["-p", "game", "--bin", "game", "--features", "dev,hot-reload"],
"options": {
"cwd": "${workspaceFolder}",
"env": {
"RUST_BACKTRACE": "1",
"WGPU_VALIDATION": "0",
"CARGO_TARGET_DIR": "${workspaceFolder}/target"
}
},
"problemMatcher": ["$rustc"],
"group": "build"
},
{
"label": "run editor (SDR fallback)",
"type": "cargo",
"command": "run",
"args": ["-p", "editor", "--bin", "editor", "--features", "dev"],
"options": {
"cwd": "${workspaceFolder}",
"env": {
"RUST_BACKTRACE": "1",
"BEVY_FPS_HDR": "0",
"WGPU_VALIDATION": "0",
"CARGO_TARGET_DIR": "${workspaceFolder}/target"
}
},
"problemMatcher": ["$rustc"],
"group": "build"
},
{
"label": "run game (SDR fallback)",
"type": "cargo",
"command": "run",
"args": ["-p", "game", "--bin", "game", "--features", "dev"],
"options": {
"cwd": "${workspaceFolder}",
"env": {
"RUST_BACKTRACE": "1",
"BEVY_FPS_HDR": "0",
"WGPU_VALIDATION": "0",
"CARGO_TARGET_DIR": "${workspaceFolder}/target"
}
},
"problemMatcher": ["$rustc"],
"group": "build"
},
{
"label": "watch game_hot (hot reload)",
"type": "shell",
"command": "cargo watch -w crates/game_hot -w crates/sim -x \"build -p game_hot --features dylib\"",
"options": {
"cwd": "${workspaceFolder}",
"env": { "CARGO_TARGET_DIR": "${workspaceFolder}/target" }
},
"problemMatcher": ["$rustc"],
"group": "build",
"isBackground": true,
"detail": "Requires cargo-watch: cargo install cargo-watch --locked"
},
{
"label": "verify workspace",
"dependsOrder": "sequence",
"dependsOn": [
"cargo fmt (workspace check)",
"cargo check (workspace all targets)",
"cargo clippy (workspace strict)",
"cargo test (workspace)",
"cargo clippy (launch feature matrix)",
"validate level scenes",
"build game (debug)",
"build editor (debug)"
],
"problemMatcher": [],
"group": "build"
}
]
}