From 50f078c91d88743d722b4a179a8e811b8b62e68a Mon Sep 17 00:00:00 2001 From: Serhiy Mytrovtsiy Date: Thu, 9 Jul 2020 23:58:05 +0200 Subject: [PATCH] - add part of updater.sh for back compatibility add dSYMs.zip to .gitignore --- .gitignore | 2 +- Stats.xcodeproj/project.pbxproj | 4 ++-- Stats/Supporting Files/Info.plist | 2 +- StatsKit/updater.sh | 26 ++++++++++++++++++++++---- StatsKit/updater.swift | 4 ++-- 5 files changed, 28 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index 32754657..464ce3dc 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,6 @@ xcuserdata Stats.dmg Stats.app create-dmg -dSYM.zip +dSYMs.zip Cartfile.resolved \ No newline at end of file diff --git a/Stats.xcodeproj/project.pbxproj b/Stats.xcodeproj/project.pbxproj index 9708e3d9..c9654bb4 100644 --- a/Stats.xcodeproj/project.pbxproj +++ b/Stats.xcodeproj/project.pbxproj @@ -1695,7 +1695,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.14; - MARKETING_VERSION = 2.1.10; + MARKETING_VERSION = 2.1.9; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1727,7 +1727,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.14; - MARKETING_VERSION = 2.1.10; + MARKETING_VERSION = 2.1.9; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/Stats/Supporting Files/Info.plist b/Stats/Supporting Files/Info.plist index 17eb06db..0ceec19e 100755 --- a/Stats/Supporting Files/Info.plist +++ b/Stats/Supporting Files/Info.plist @@ -17,7 +17,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 16 + 31 Description Simple macOS system monitor in your menu bar LSApplicationCategoryType diff --git a/StatsKit/updater.sh b/StatsKit/updater.sh index 6e5aba68..32520c1f 100644 --- a/StatsKit/updater.sh +++ b/StatsKit/updater.sh @@ -4,16 +4,34 @@ DMG_PATH="$HOME/Download/Stats.dmg" MOUNT_PATH="/tmp/Stats" APPLICATION_PATH="/Applications/" +STEP="" + while [[ "$#" > 0 ]]; do case $1 in + -s|--step) STEP="$2"; shift;; -d|--dmg) DMG_PATH="$2"; shift;; -a|--app) APPLICATION_PATH="$2"; shift;; -m|--mount) MOUNT_PATH="$2"; shift;; *) echo "Unknown parameter passed: $1"; exit 1;; esac; shift; done -rm -rf $APPLICATION_PATH/Stats.app -cp -rf $MOUNT_PATH/Stats.app $APPLICATION_PATH/Stats.app +if [[ "$STEP" == "2" ]]; then + rm -rf $APPLICATION_PATH/Stats.app + cp -rf $MOUNT_PATH/Stats.app $APPLICATION_PATH/Stats.app -$APPLICATION_PATH/Stats.app/Contents/MacOS/Stats --dmg-path "$DMG_PATH" --mount-path "$MOUNT_PATH" + $APPLICATION_PATH/Stats.app/Contents/MacOS/Stats --dmg "$DMG_PATH" -echo "New version started" + echo "New version started" +elif [[ "$STEP" == "3" ]]; then + /usr/bin/hdiutil detach "$MOUNT_PATH" + /bin/rm -rf "$MOUNT_PATH" + /bin/rm -rf "$DMG_PATH" + + echo "Done" +else + rm -rf $APPLICATION_PATH/Stats.app + cp -rf $MOUNT_PATH/Stats.app $APPLICATION_PATH/Stats.app + + $APPLICATION_PATH/Stats.app/Contents/MacOS/Stats --dmg-path "$DMG_PATH" --mount-path "$MOUNT_PATH" + + echo "New version started" +fi diff --git a/StatsKit/updater.swift b/StatsKit/updater.swift index 1a07c1b1..61d9ce8b 100644 --- a/StatsKit/updater.swift +++ b/StatsKit/updater.swift @@ -119,10 +119,10 @@ public class macAppUpdater { _ = syncShell("/usr/bin/hdiutil attach \(path) -mountpoint /tmp/Stats -noverify -nobrowse -noautoopen") } - _ = syncShell("cp $TMPDIR/Stats/app/Stats.app/Contents/Resources/Scripts/updater.sh $TMPDIR/Stats/updater.sh") // copy updater script to tmp folder + _ = syncShell("cp /tmp/Stats/Stats.app/Contents/Resources/Scripts/updater.sh $TMPDIR/updater.sh") // copy updater script to tmp folder let pwd = Bundle.main.bundleURL.absoluteString.replacingOccurrences(of: "file://", with: "").replacingOccurrences(of: "Stats.app/", with: "") - asyncShell("sh $TMPDIR/updater.sh --step 2 --app \(pwd) --dmg \(path) >/dev/null &") // run updater script in in background + _ = asyncShell("sh $TMPDIR/updater.sh --app \(pwd) --dmg \(path) >/dev/null &") // run updater script in in background exit(0) } } catch {