diff options
Diffstat (limited to 'contrib/nodeck.sh')
| -rwxr-xr-x | contrib/nodeck.sh | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/contrib/nodeck.sh b/contrib/nodeck.sh deleted file mode 100755 index 29dca940..00000000 --- a/contrib/nodeck.sh +++ /dev/null @@ -1,168 +0,0 @@ -#!/bin/bash - -## Pre-parse arugments for ease of use -CLONEFOLDER=${1:-""} -LOADERBRANCH=${2:-""} -LIBRARYBRANCH=${3:-""} -TEMPLATEBRANCH=${4:-""} -LATEST=${5:-""} - -## gather options into an array -OPTIONSARRAY=("$CLONEFOLDER" "$LOADERBRANCH" "$LIBRARYBRANCH" "$TEMPLATEBRANCH" "$LATEST") - -## iterate through options array to check their presence -count=0 -for OPTION in ${OPTIONSARRAY[@]}; do - ! [[ "$OPTION" == "" ]] && count=$(($count+1)) - # printf "OPTION=$OPTION\n" -done - -clonefromto() { - # printf "repo=$1\n" - # printf "outdir=$2\n" - # printf "branch=$3\n" - printf "Repository: $1\n" - git clone $1 $2 &> '/dev/null' - CODE=$? - # printf "CODE=${CODE}" - if [[ $CODE -eq 128 ]]; then - cd $2 - git fetch --all &> '/dev/null' - fi - if [[ -z $3 ]]; then - printf "Enter the desired branch for repository "$1" :\n" - local OUT="$(git branch -r | sed '/\/HEAD/d')" - # $OUT="$($OUT > )" - printf "$OUT\nbranch: " - read BRANCH - else - printf "on branch: $3\n" - BRANCH="$3" - fi - if ! [[ -z ${BRANCH} ]]; then - git checkout $BRANCH &> '/dev/null' - fi - if [[ ${LATEST} == "true" ]]; then - git pull --all - elif [[ ${LATEST} == "true" ]]; then - printf "Assuming user not pulling latest commits.\n" - else - printf "Pull latest commits? (y/N): " - read PULL - case ${PULL:0:1} in - y|Y ) - printf "Pulling latest commits.\n" - git pull --all - ;; - * ) - printf "Not pulling latest commits.\n" - ;; - esac - if ! [[ "$PULL" =~ ^[[:alnum:]]+$ ]]; then - printf "Assuming user not pulling latest commits.\n" - fi - fi -} - -pnpmtransbundle() { - cd $1 - if [[ "$2" == "library" ]]; then - npm install --quiet &> '/dev/null' - npm run build --quiet &> '/dev/null' - sudo npm link --quiet &> '/dev/null' - elif [[ "$2" == "frontend" ]]; then - pnpm i &> '/dev/null' - pnpm run build &> '/dev/null' - elif [[ "$2" == "template" ]]; then - pnpm i &> '/dev/null' - pnpm run build &> '/dev/null' - fi -} - - -if ! [[ $count -gt 4 ]] ; then - printf "Installing Steam Deck Plugin Loader contributor/developer (no Steam Deck)..." - - printf "\nTHIS SCRIPT ASSUMES YOU ARE RUNNING IT ON A PC, NOT THE DECK! - Not planning to contribute to or develop for PluginLoader? - Then you should not be using this script.\n" - - printf "\nThis script requires you to have nodejs installed. (If nodejs doesn't bundle npm on your OS/distro, then npm is required as well).\n" -fi - -if ! [[ $count -gt 0 ]] ; then - read -p "Press any key to continue" -fi - -printf "\n" - -if [[ "$CLONEFOLDER" == "" ]]; then - printf "Enter the directory in /home/user/ to clone to.\n" - printf "The clone directory would be: ${HOME}/git \n" - read -p "Enter your clone directory: " CLONEFOLDER - if ! [[ "$CLONEFOLDER" =~ ^[[:alnum:]]+$ ]]; then - printf "Folder name not provided. Using default, '${DEFAULT}'.\n" - CLONEFOLDER="${DEFAULT}" - fi -fi - -CLONEDIR="$HOME/$CLONEFOLDER" - -## Create folder structure - -printf "Cloning git repositories.\n" - -mkdir -p ${CLONEDIR} &> '/dev/null' - -### remove folders just in case -# rm -r ${CLONEDIR}/pluginloader -# rm -r ${CLONEDIR}/pluginlibrary -# rm -r ${CLONEDIR}/plugintemplate - -clonefromto "https://github.com/SteamDeckHomebrew/PluginLoader" ${CLONEDIR}/pluginloader "$LOADERBRANCH" - -clonefromto "https://github.com/SteamDeckHomebrew/decky-frontend-lib" ${CLONEDIR}/pluginlibrary "$LIBRARYBRANCH" - -clonefromto "https://github.com/SteamDeckHomebrew/decky-plugin-template" ${CLONEDIR}/plugintemplate "$TEMPLATEBRANCH" - -## install python dependencies (maybe use venv?) - -python -m pip install -r ${CLONEDIR}/pluginloader/requirements.txt &> '/dev/null' - -## Transpile and bundle typescript - -[ "$UID" -eq 0 ] || printf "Input password to proceed with install.\n" - -type npm &> '/dev/null' - -NPMLIVES=$? - -if ! [[ "$PNPMLIVES" -eq 0 ]]; then - printf "npm does not appear to be installed, exiting.\n" - exit 1 -fi - -sudo npm install -g pnpm &> '/dev/null' - -type pnpm &> '/dev/null' - -PNPMLIVES=$? - -if ! [[ "$PNPMLIVES" -eq 0 ]]; then - printf "pnpm does not appear to be installed, exiting.\n" - exit 1 -fi - -printf "Transpiling and bundling typescript.\n" - -pnpmtransbundle ${CLONEDIR}/pluginlibrary/ "library" - -pnpmtransbundle ${CLONEDIR}/pluginloader/frontend "frontend" - -pnpmtransbundle ${CLONEDIR}/plugintemplate "template" - -printf "Plugin Loader is located at '${CLONEDIR}/pluginloader/'.\n" - -printf "Run in console or in a script these commands to run your development version:\n'export PLUGIN_PATH=${CLONEDIR}/plugins; export CHOWN_PLUGIN_PATH=0; sudo -E python3 ${CLONEDIR}/pluginloader/backend/main.py'\n" - -printf "All done!\n" |
