{ "version": "2.0.0", "tasks": [ //PRELIMINARY SETUP TASKS //Dependency setup task { "label": "depsetup", "type": "shell", "group": "none", "detail": "Install depedencies for basic setup", "command": "${workspaceFolder}/.vscode/setup.sh", // // placeholder for windows scripts, not currently planned // "windows": { // "command": "call -c ${workspaceFolder}\\.vscode\\setup.bat", // }, "problemMatcher": [] }, //pnpm setup task to grab all needed modules { "label": "pnpmsetup", "type": "shell", "group": "none", "detail": "Setup pnpm", "command": "which pnpm && pnpm i", "problemMatcher": [] }, //Preliminary "All-in-one" setup task { "label": "setup", "detail": "Set up depedencies, pnpm and update Decky Frontend Library.", "dependsOrder": "sequence", "dependsOn": [ "depsetup", "pnpmsetup", "updatefrontendlib" ], "problemMatcher": [] }, //Preliminary Deploy Config Setup { "label": "settingscheck", "type": "shell", "group": "none", "detail": "Check that settings.json has been created", "command": "${workspaceFolder}/.vscode/config.sh", // // placeholder for windows scripts, not currently planned // "windows": { // "command": "call ${workspaceFolder}\\.vscode\\config.bat", // }, "problemMatcher": [] }, //BUILD TASKS { "label": "cli-build", "group": "build", "detail": "Build plugin with CLI", "command": "${workspaceFolder}/.vscode/build.sh", // // placeholder for windows logic, not currently planned // "windows": { // "command": "call ${workspaceFolder}\\.vscode\\build.bat", // }, "problemMatcher": [] }, //"All-in-one" build task { "label": "build", "group": "build", "detail": "Build decky-plugin-template", "dependsOrder": "sequence", "dependsOn": [ "setup", "settingscheck", "cli-build", ], "problemMatcher": [] }, //"All-in-one" deploy task { "label": "deploy", "type": "shell", "group": "none", "detail": "Deploy plugin zip to deck", "command": "${workspaceFolder}/.vscode/deploy.sh \"${config:deckip}\" \"${config:deckport}\" \"${config:deckuser}\" \"${config:deckpass}\" \"${config:deckdir}\" \"${config:pluginname}\" \"out/${config:pluginname}.zip\"", "problemMatcher": [] }, //"All-in-on" build & deploy task { "label": "builddeploy", "detail": "Builds plugin and deploys to deck", "dependsOrder": "sequence", "group": "none", "dependsOn": [ "build", "deploy" ], "problemMatcher": [] }, //GENERAL TASKS //Update Decky Frontend Library, aka DFL { "label": "updatefrontendlib", "type": "shell", "group": "build", "detail": "Update @decky/ui aka DFL", "command": "pnpm update @decky/ui --latest", "problemMatcher": [] }, //Used chmod plugins folder to allow copy-over of files { "label": "chmodplugins", "detail": "chmods plugins folder to prevent perms issues", "type": "shell", "group": "none", "command": "ssh ${config:deckuser}@${config:deckip} -p ${config:deckport} ${config:deckkey} 'echo '${config:deckpass}' | sudo -S chmod -R ug+rw ${config:deckdir}/homebrew/plugins/'", "problemMatcher": [] }, ] }