diff --git a/.vscode/config.sh b/.vscode/config.sh new file mode 100755 index 0000000..b45c794 --- /dev/null +++ b/.vscode/config.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]:-$0}"; )" &> /dev/null && pwd 2> /dev/null; )"; +# printf "${SCRIPT_DIR}\n" +# printf "$(dirname $0)\n" +if ! [[ -e "${SCRIPT_DIR}/settings.json" ]]; then + printf '.vscode/settings.json does not exist. Creating it with default settings. Exiting afterwards. Run your task again.\n\n' + cp "${SCRIPT_DIR}/defsettings.json" "${SCRIPT_DIR}/settings.json" + exit 1 +else + printf '.vscode/settings.json does exist. Congrats.\n' + printf 'Make sure to change settings.json to match your deck.\n' +fi \ No newline at end of file diff --git a/.vscode/defsettings.json b/.vscode/defsettings.json new file mode 100644 index 0000000..7360735 --- /dev/null +++ b/.vscode/defsettings.json @@ -0,0 +1,7 @@ +{ + "deckip" : "0.0.0.0", + "deckport" : "22", + "deckpass" : "ssap", + "deckkey" : "-i ${env:HOME}/.ssh/id_rsa", + "deckdir" : "/home/deck" +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 87c0637..e113a47 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -1,6 +1,38 @@ { "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": [] + }, + // 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" + ], + "command": "rsync -azp --rsh='ssh -p ${config:deckport} ${config:deckkey}' --exclude='.git/' --exclude='.github/' --exclude='.vscode/' --exclude='node_modules/' --exclude='dist/' --exclude=`src/` --exclude=`assets/` --exclude='*.log' --exclude='.gitignore' . deck@${config:deckip}:${config:deckdir}/homebrew/dev/plugins/${workspaceFolderBasename}}", + "problemMatcher": [] + }, // BUILD { "label": "pnpmsetup", @@ -9,6 +41,7 @@ "detail": "Setup pnpm", "command": "pnpm i", "problemMatcher": [] + "${workspaceFolderBasename}" }, { "label": "updatefrontendlib",