diff options
| author | Pliable Pixels <pliablepixels@gmail.com> | 2018-09-09 10:47:55 -0400 |
|---|---|---|
| committer | Pliable Pixels <pliablepixels@gmail.com> | 2018-09-09 10:47:55 -0400 |
| commit | fd317367ce221b83137e6198b30159caf4b129ce (patch) | |
| tree | 3e8aa78f48ce38269ef53cd95897037a17fa44db /deprecated | |
| parent | 33025d65e1e79041b8d4f1f4ab830ab9d2ebd667 (diff) | |
#701 moved to electron-build
Diffstat (limited to 'deprecated')
| -rwxr-xr-x | deprecated/make_desktop.sh | 140 | ||||
| -rwxr-xr-x | deprecated/prepare_desktop.sh | 76 |
2 files changed, 216 insertions, 0 deletions
diff --git a/deprecated/make_desktop.sh b/deprecated/make_desktop.sh new file mode 100755 index 00000000..2d2b3134 --- /dev/null +++ b/deprecated/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 + + diff --git a/deprecated/prepare_desktop.sh b/deprecated/prepare_desktop.sh new file mode 100755 index 00000000..86d28945 --- /dev/null +++ b/deprecated/prepare_desktop.sh @@ -0,0 +1,76 @@ +#!/bin/bash + +REL="v2.0.3" +#REL="v1.4.3" +WGET='wget' +WGET_ARGS='-q --show-progress' +UNZIP='unzip' +UNZIP_ARGS='-d' + +exe() { echo "\$ $@" ; "$@" ; } + +echo ---------------------------------------------------- +echo Pliable Pixels Desktop preparation process +echo Use this to download electron images +echo You really need to do this one time +echo ---------------------------------------------------- +echo +echo This will delete all files in desktop/ and also remove icon associations +read -p "Press a key to continue or Ctrl-C to break..." + + +iswget=`which ${WGET}` +if [ $? -ne 0 ]; then + echo "**ERROR** You need ${WGET} installed in your path to use this tool." + exit +fi +rm -rf desktop +mkdir -p desktop 2>/dev/null +cd desktop + + +declare -a release_names=("darwin-x64" "win32-x64" "win32-ia32" "linux-arm" "linux-x64" "linux-ia32") +declare -a release_renames=("zmNinja-mac.app" "zmNinja-win64bit" "zmNinja-win32bit" "zmNinja-linuxarm" "zmNinja-linux64bit" "zmNinja-linux32bit") + +for i in "${!release_names[@]}" +do + RELEASE="https://github.com/electron/electron/releases/download/${REL}/electron-${REL}-${release_names[$i]}.zip" + echo + echo "Working on ${RELEASE}..." + #echo "Rename to ${release_renames[$i]}" + echo "---------------------------------------------" + + echo "Downloading ${release_names[i]} ..." + exe ${WGET} ${RELEASE} ${WGET_ARGS} + + + echo "Decompressing image..." + if [ "${release_names[$i]}" != "darwin-x64" ]; then + exe mkdir electron-${REL}-${release_names[$i]} >/dev/null 2>&1 + exe rm -fr electron-${REL}-${release_names[$i]}/* >/dev/null 2>&1 + exe ${UNZIP} electron-${REL}-${release_names[$i]}.zip ${UNZIP_ARGS} electron-${REL}-${release_names[$i]} 2>/dev/null + exe mv electron-${REL}-${release_names[$i]} ${release_renames[$i]} >/dev/null 2>&1 + mv ${release_renames[$i]}/electron.exe ${release_renames[$i]}/zmNinja.exe >/dev/null 2>&1 + mv ${release_renames[$i]}/electron ${release_renames[$i]}/zmNinja >/dev/null 2>&1 + + else # OSX + exe ${UNZIP} electron-${REL}-${release_names[$i]}.zip 2>/dev/null + exe mv Electron.app ${release_renames[$i]} + + fi + + rm LICENSE* >/dev/null 2>&1 + rm version >/dev/null 2>&1 +done + +rm *.zip >/dev/null 2>&1 + +echo +echo ========================================================= +echo All done. Use ./make_desktop now +echo You need to associate icons for OSX and windows +echo for OSX +echo ========================================================= +echo + + |
