From c1ebbc4b02c2e4fcb81661f2c0e87cd4f3f71147 Mon Sep 17 00:00:00 2001 From: JSON Derulo <136133082+xXJSONDeruloXx@users.noreply.github.com> Date: Tue, 21 Jan 2025 18:52:51 -0500 Subject: Initial commit --- .vscode/tasks.json | 142 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 .vscode/tasks.json (limited to '.vscode/tasks.json') diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..c441ff9 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,142 @@ +{ + "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": [] + }, + //DEPLOY TASKS + //Copies the zip file of the built plugin to the plugins folder + { + "label": "copyzip", + "detail": "Deploy plugin zip to deck", + "type": "shell", + "group": "none", + "dependsOn": [ + "chmodplugins" + ], + "command": "rsync -azp --chmod=D0755,F0755 --rsh='ssh -p ${config:deckport} ${config:deckkey}' out/ ${config:deckuser}@${config:deckip}:${config:deckdir}/homebrew/plugins", + "problemMatcher": [] + }, + // + { + "label": "extractzip", + "detail": "", + "type": "shell", + "group": "none", + "command": "echo '${config:deckdir}/homebrew/plugins/${config:pluginname}.zip' && ssh ${config:deckuser}@${config:deckip} -p ${config:deckport} ${config:deckkey} 'echo ${config:deckpass} | sudo -S mkdir 755 -p \"$(echo \"${config:deckdir}/homebrew/plugins/${config:pluginname}\" | sed \"s| |-|g\")\" && echo ${config:deckpass} | sudo -S chown ${config:deckuser}:${config:deckuser} \"$(echo \"${config:deckdir}/homebrew/plugins/${config:pluginname}\" | sed \"s| |-|g\")\" && echo ${config:deckpass} | sudo -S bsdtar -xzpf \"${config:deckdir}/homebrew/plugins/${config:pluginname}.zip\" -C \"$(echo \"${config:deckdir}/homebrew/plugins/${config:pluginname}\" | sed \"s| |-|g\")\" --strip-components=1 --fflags '", + "problemMatcher": [] + }, + //"All-in-one" deploy task + { + "label": "deploy", + "dependsOrder": "sequence", + "group": "none", + "dependsOn": [ + "copyzip", + "extractzip" + ], + "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": [] + }, + ] +} -- cgit v1.2.3