summaryrefslogtreecommitdiff
path: root/make_desktop.sh
diff options
context:
space:
mode:
Diffstat (limited to 'make_desktop.sh')
-rwxr-xr-xmake_desktop.sh140
1 files changed, 140 insertions, 0 deletions
diff --git a/make_desktop.sh b/make_desktop.sh
new file mode 100755
index 00000000..2d2b3134
--- /dev/null
+++ b/make_desktop.sh
@@ -0,0 +1,140 @@
+#!/bin/bash
+RED='\033[0;31m'
+NC='\033[1m\033[0m'
+GREEN='\033[0;32m'
+ORANGE='\033[0;33m'
+GREY='\033[0;37m'
+
+
+err() { echo -e "${RED}$@${NC}"; }
+warn() { echo -e "${ORANGE}$@${NC}"; }
+success() { echo -e "${GREEN}$@${NC}"; }
+debug() { echo -e "${GREY}->$@${NC}"; }
+
+exe() { debug "\$ $@" ; "$@" ; }
+
+if [ ! -d "desktop" ]; then
+ echo "You have not downloaded desktop images"
+ echo "Please run ./prepare_desktop.sh"
+ echo
+ exit
+fi
+
+while [[ $# -gt 0 ]]
+do
+ arg="$1"
+ case $arg in
+ -h|--help)
+ echo "./make_desktop.sh [--port|-p mac|linux32|linux64|linuxarm|win32|win64|arm|<any substring that matches one or more port names>]"
+ echo " so -p linux will build linux32/64/arm as they all match linux"
+ echo " [--nocolor|nc] to disable color output"
+ echo
+ exit
+ ;;
+
+ -p|--port)
+ PORT="$2"
+ shift
+ shift
+ ;;
+ -nc|--nocolor)
+ RED=''
+ NC=''
+ GREEN=''
+ ORANGE=''
+ GREY=''
+ shift
+ ;;
+ *)
+ echo "Unknown argument $1, ignoring..."
+ shift
+ ;;
+ esac
+done
+
+[[ ! -z $PORT ]] && echo "Only creating build for $PORT" && PORT="-$PORT"
+
+echo ----------------------------------------------------
+echo Pliable Pixels Desktop build process
+echo ----------------------------------------------------
+APPVER=`cat config.xml | grep "widget " | sed 's/.* version=\"\([^\"]*\)\" xmlns.*/\1/'`
+APPVER+="D"
+echo "Application version:$APPVER"
+
+declare -a app_ports=("desktop/zmNinja-mac.app/Contents/Resources" "desktop/zmNinja-linux32bit/resources" "desktop/zmNinja-linux64bit/resources" "desktop/zmNinja-win64bit/resources" "desktop/zmNinja-win32bit/resources" "desktop/zmNinja-linuxarm/resources")
+
+for i in "${app_ports[@]}"
+do
+ if [[ "$i" =~ $PORT || -z $PORT ]]; then
+ :
+ else
+ warn "$i will be skipped (did not match $PORT)"
+ continue
+ fi
+ if [ -d "$i" ]; then
+ DIRNAME=$i
+
+ if [ "${i}" == "desktop/zmNinja-mac.app/Contents/Resources" ]; then
+ BASENAME="desktop/zmNinja-mac.app/Contents"
+ else
+ BASENAME=`expr "$i" : '\(.*\)/resources'`
+ fi
+
+ echo "------------------------------------------------------------------------"
+ success "Working on packaging $i"
+ echo "------------------------------------------------------------------------"
+ echo Creating paths...
+ exe rm -fr $i/app
+ exe mkdir $i/app
+ exe mkdir $i/app/node_modules
+ exe mkdir $i/app/www
+ exe mkdir $i/app/electron_js
+
+ echo Copying over relevant node modules...
+ exe cp -R node_modules/electron-window-state $i/app/node_modules
+ exe cp -R node_modules/jsonfile $i/app/node_modules
+ exe cp -R node_modules/mkdirp $i/app/node_modules
+ exe cp -R node_modules/deep-equal $i/app/node_modules
+ exe cp -R node_modules/minimist $i/app/node_modules
+ exe cp -R node_modules/menu $i/app/node_modules
+ exe cp -R node_modules/clivas $i/app/node_modules
+ exe cp -R node_modules/keypress $i/app/node_modules
+
+ echo Copying over zmNinja code...
+ exe cp package.json $i/app
+ exe cp -R www/* $i/app/www
+ exe cp electron_js/main.js $i/app/electron_js
+ exe cp www/ZMNINJA-LICENSE-DESKTOP-CLIENT.txt $BASENAME
+ echo $APPVER > $BASENAME/version
+ exe cp resources/icon.png $BASENAME
+ exe cd $i
+ cat app/www/js/DataModel.js | sed "s/var zmAppVersion[ ]*=[ ]*\"unknown\"/var zmAppVersion=\"$APPVER\"/" > app/www/js/DataModel.js.tmp
+ exe rm -fr app/www/js/DataModel.js
+ exe mv app/www/js/DataModel.js.tmp app/www/js/DataModel.js
+
+
+ rm -fr app.asar
+
+ # No idea why but asar is causing problems in windows
+ # main.js changes are not showig up. wuh? - Sep 29, 2017
+
+ #exe asar pack app app.asar
+ #read -p "Press a key to remove app dir for $i..."
+ #exe rm -fr app
+ cd -
+ #OSX ditto does a better job than zip!
+ #echo "Creating ZIP $ZIPNAME..."
+ #exe zip -r ../$ZIPNAME ../$DIRNAME
+
+ success "Done!"
+ echo
+
+ else # dirname exists
+ echo "$i does not exist, skipping"
+ fi
+done
+echo
+warn "Note, SASS changes won't be reflected. Run 'ionic build' for that"
+echo
+
+