105 lines
3.4 KiB
JSON
105 lines
3.4 KiB
JSON
{
|
|
"version": "2.0.0",
|
|
"tasks": [
|
|
// OTHER
|
|
{
|
|
"label": "checkforsettings",
|
|
"type": "shell",
|
|
"group": "none",
|
|
"detail": "Check that settings.json has been created",
|
|
"command": "bash -c ${workspaceFolder}/.vscode/config.sh",
|
|
"problemMatcher": []
|
|
},
|
|
// BUILD
|
|
{
|
|
"label": "pnpmsetup",
|
|
"type": "shell",
|
|
"group": "build",
|
|
"detail": "Setup pnpm",
|
|
"command": "pnpm i",
|
|
"problemMatcher": []
|
|
},
|
|
{
|
|
"label": "updatefrontendlib",
|
|
"type": "shell",
|
|
"group": "build",
|
|
"detail": "Update deck-frontend-lib",
|
|
"command": "pnpm update decky-frontend-lib --latest",
|
|
"problemMatcher": []
|
|
},
|
|
{
|
|
"label": "build",
|
|
"type": "npm",
|
|
"group": "build",
|
|
"detail": "rollup -c",
|
|
"script": "build",
|
|
"path": "",
|
|
"problemMatcher": []
|
|
},
|
|
{
|
|
"label": "buildall",
|
|
"group": "build",
|
|
"detail": "Build decky-plugin-template",
|
|
"dependsOrder": "sequence",
|
|
"dependsOn": [
|
|
"pnpmsetup",
|
|
"build"
|
|
],
|
|
"problemMatcher": []
|
|
},
|
|
// DEPLOY
|
|
{
|
|
"label": "createfolders",
|
|
"detail": "Create plugins folder in expected directory",
|
|
"type": "shell",
|
|
"group": "none",
|
|
"dependsOn": [
|
|
"checkforsettings"
|
|
],
|
|
"command": "ssh deck@${config:deckip} -p ${config:deckport} ${config:deckkey} 'mkdir -p ${config:deckdir}/homebrew/dev/pluginloader && mkdir -p ${config:deckdir}/homebrew/dev/plugins'",
|
|
"problemMatcher": []
|
|
},
|
|
{
|
|
"label": "deploy",
|
|
"detail": "Deploy dev plugin to deck",
|
|
"type": "shell",
|
|
"group": "none",
|
|
"dependsOn": [
|
|
"createfolders",
|
|
"chmodfolders"
|
|
],
|
|
"command": "rsync -azp --delete --rsh='ssh -p ${config:deckport} ${config:deckkey}' --exclude='.git/' --exclude='.github/' --exclude='.vscode/' --exclude='node_modules/' --exclude='src/' --exclude='*.log' --exclude='.gitignore' . deck@${config:deckip}:${config:deckdir}/homebrew/dev/plugins/${workspaceFolderBasename}",
|
|
"problemMatcher": []
|
|
},
|
|
{
|
|
"label": "chmodfolders",
|
|
"detail": "chmods folders to prevent perms issues",
|
|
"type": "shell",
|
|
"group": "none",
|
|
"command": "ssh deck@${config:deckip} -p ${config:deckport} ${config:deckkey} 'echo '${config:deckpass}' | sudo -S chmod -R ug+rw ${config:deckdir}/homebrew/dev/'",
|
|
"problemMatcher": []
|
|
},
|
|
{
|
|
"label": "deployall",
|
|
"dependsOrder": "sequence",
|
|
"group": "none",
|
|
"dependsOn": [
|
|
"deploy",
|
|
"chmodfolders"
|
|
],
|
|
"problemMatcher": []
|
|
},
|
|
// ALL-IN-ONE
|
|
{
|
|
"label": "allinone",
|
|
"detail": "Build and deploy",
|
|
"dependsOrder": "sequence",
|
|
"group": "test",
|
|
"dependsOn": [
|
|
"buildall",
|
|
"deployall"
|
|
],
|
|
"problemMatcher": []
|
|
}
|
|
]
|
|
}
|