781a4ace3e
Minor tweaks to the build commands to fix building on osx
159 lines
6.1 KiB
JSON
159 lines
6.1 KiB
JSON
{
|
|
"version": "2.0.0",
|
|
"tasks": [
|
|
//PRELIMINARY SETUP TASKS
|
|
//Dependency setup task
|
|
{
|
|
"label": "depsetup",
|
|
"type": "shell",
|
|
"group": "none",
|
|
"detail": "Install depedencies for basic setup",
|
|
"linux": {
|
|
"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",
|
|
"linux": {
|
|
"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",
|
|
"linux": {
|
|
"command": "${workspaceFolder}/.vscode/build.sh",
|
|
},
|
|
"osx": {
|
|
"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"
|
|
],
|
|
"linux": {
|
|
"command": "rsync -azp --chmod=D0755,F0755 --rsh='ssh -p ${config:deckport} ${config:deckkey}' out/ ${config:deckuser}@${config:deckip}:${config:deckdir}/homebrew/plugins",
|
|
},
|
|
"windows": {
|
|
"command": "rsync -azp --chmod=D0755,F0755 --rsh='ssh -p ${config:deckport} ${config:deckkey}' out/ ${config:deckuser}@${config:deckip}:${config:deckdir}/homebrew/plugins",
|
|
},
|
|
"osx": {
|
|
"command": "rsync -azp --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 deck-frontend-lib aka DFL",
|
|
"command": "pnpm update decky-frontend-lib --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": []
|
|
},
|
|
]
|
|
}
|