From 4475eb37cef1125fc3ab04c0a41acc6e764fbff6 Mon Sep 17 00:00:00 2001 From: khcrysalis Date: Mon, 1 Dec 2025 19:20:20 -0800 Subject: [PATCH 01/16] start to the auto-updater --- .github/workflows/build.yml | 25 +- Cargo.lock | 23 ++ apps/plumeimpactor/Cargo.toml | 1 + apps/plumeimpactor/build.rs | 2 + apps/plumeimpactor/src/main.rs | 7 + .../macos/Impactor.app/Contents/Info.plist | 8 + .../Frameworks/Sparkle.framework/Resources | 1 + .../Frameworks/Sparkle.framework/Sparkle | 1 + .../Autoupdate.app/Contents/Info.plist | 58 ++++ .../Autoupdate.app/Contents/MacOS/Autoupdate | Bin 0 -> 542144 bytes .../Autoupdate.app/Contents/MacOS/fileop | Bin 0 -> 291568 bytes .../Resources/Autoupdate.app/Contents/PkgInfo | 1 + .../Contents/Resources/AppIcon.icns | Bin 0 -> 37132 bytes .../Resources/Base.lproj/Sparkle.strings | Bin 0 -> 10196 bytes .../SUStatus.nib/keyedobjects-101300.nib | Bin 0 -> 10749 bytes .../Resources/SUStatus.nib/keyedobjects.nib | Bin 0 -> 12999 bytes .../Resources/ar.lproj/Sparkle.strings | Bin 0 -> 8468 bytes .../Resources/ca.lproj/Sparkle.strings | Bin 0 -> 6792 bytes .../Resources/cs.lproj/Sparkle.strings | Bin 0 -> 10570 bytes .../Resources/da.lproj/Sparkle.strings | Bin 0 -> 8306 bytes .../Resources/de.lproj/Sparkle.strings | Bin 0 -> 10148 bytes .../Resources/el.lproj/Sparkle.strings | Bin 0 -> 7734 bytes .../Resources/es.lproj/Sparkle.strings | Bin 0 -> 10030 bytes .../Resources/fi.lproj/Sparkle.strings | Bin 0 -> 6184 bytes .../Resources/fr.lproj/Sparkle.strings | Bin 0 -> 10170 bytes .../Resources/he.lproj/Sparkle.strings | Bin 0 -> 5288 bytes .../Resources/hr.lproj/Sparkle.strings | Bin 0 -> 9778 bytes .../Resources/hu.lproj/Sparkle.strings | Bin 0 -> 10002 bytes .../Resources/is.lproj/Sparkle.strings | Bin 0 -> 5868 bytes .../Resources/it.lproj/Sparkle.strings | Bin 0 -> 8340 bytes .../Resources/ja.lproj/Sparkle.strings | Bin 0 -> 8552 bytes .../Resources/ko.lproj/Sparkle.strings | Bin 0 -> 6220 bytes .../Resources/nb.lproj/Sparkle.strings | Bin 0 -> 9352 bytes .../Resources/nl.lproj/Sparkle.strings | Bin 0 -> 8850 bytes .../Resources/pl.lproj/Sparkle.strings | Bin 0 -> 7318 bytes .../Resources/pt_BR.lproj/Sparkle.strings | Bin 0 -> 9728 bytes .../Resources/pt_PT.lproj/Sparkle.strings | Bin 0 -> 7896 bytes .../Resources/ro.lproj/Sparkle.strings | Bin 0 -> 9806 bytes .../Resources/ru.lproj/Sparkle.strings | Bin 0 -> 7668 bytes .../Resources/sk.lproj/Sparkle.strings | Bin 0 -> 7548 bytes .../Resources/sl.lproj/Sparkle.strings | Bin 0 -> 7944 bytes .../Resources/sv.lproj/Sparkle.strings | Bin 0 -> 7834 bytes .../Resources/th.lproj/Sparkle.strings | Bin 0 -> 8492 bytes .../Resources/tr.lproj/Sparkle.strings | Bin 0 -> 9716 bytes .../Resources/uk.lproj/Sparkle.strings | Bin 0 -> 7860 bytes .../Resources/zh_CN.lproj/Sparkle.strings | Bin 0 -> 6128 bytes .../Resources/zh_TW.lproj/Sparkle.strings | Bin 0 -> 5748 bytes .../keyedobjects-101300.nib | Bin 0 -> 13767 bytes .../keyedobjects.nib | Bin 0 -> 16898 bytes .../SUUpdateAlert.nib/keyedobjects-101300.nib | Bin 0 -> 17611 bytes .../SUUpdateAlert.nib/keyedobjects.nib | Bin 0 -> 22069 bytes .../keyedobjects-101300.nib | Bin 0 -> 17331 bytes .../keyedobjects-110000.nib | Bin 0 -> 17307 bytes .../keyedobjects.nib | Bin 0 -> 21807 bytes .../A/Resources/Base.lproj/Sparkle.strings | Bin 0 -> 10196 bytes .../Versions/A/Resources/Info.plist | 48 +++ .../A/Resources/ReleaseNotesColorStyle.css | 12 + .../A/Resources/SUModelTranslation.plist | 314 ++++++++++++++++++ .../SUStatus.nib/keyedobjects-101300.nib | Bin 0 -> 10749 bytes .../A/Resources/SUStatus.nib/keyedobjects.nib | Bin 0 -> 12999 bytes .../ar.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1038 bytes .../Resources/ar.lproj/SUUpdateAlert.strings | Bin 0 -> 1416 bytes .../ar.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2656 bytes .../A/Resources/ar.lproj/Sparkle.strings | Bin 0 -> 8468 bytes .../ca.lproj/SUAutomaticUpdateAlert.strings | 11 + .../Resources/ca.lproj/SUUpdateAlert.strings | 17 + .../A/Resources/ca.lproj/Sparkle.strings | Bin 0 -> 6792 bytes .../cs.lproj/SUAutomaticUpdateAlert.strings | 11 + .../Resources/cs.lproj/SUUpdateAlert.strings | 17 + .../cs.lproj/SUUpdatePermissionPrompt.strings | 23 ++ .../A/Resources/cs.lproj/Sparkle.strings | Bin 0 -> 10570 bytes .../da.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1046 bytes .../Resources/da.lproj/SUUpdateAlert.strings | Bin 0 -> 1436 bytes .../da.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2504 bytes .../A/Resources/da.lproj/Sparkle.strings | Bin 0 -> 8306 bytes .../de.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1114 bytes .../Resources/de.lproj/SUUpdateAlert.strings | Bin 0 -> 1488 bytes .../de.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2556 bytes .../A/Resources/de.lproj/Sparkle.strings | Bin 0 -> 10148 bytes .../el.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1114 bytes .../Resources/el.lproj/SUUpdateAlert.strings | Bin 0 -> 1516 bytes .../el.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2612 bytes .../A/Resources/el.lproj/Sparkle.strings | Bin 0 -> 7734 bytes .../en.lproj/SUAutomaticUpdateAlert.strings | 12 + .../Resources/en.lproj/SUUpdateAlert.strings | 18 + .../en.lproj/SUUpdatePermissionPrompt.strings | 24 ++ .../es.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1050 bytes .../Resources/es.lproj/SUUpdateAlert.strings | Bin 0 -> 1560 bytes .../es.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2808 bytes .../A/Resources/es.lproj/Sparkle.strings | Bin 0 -> 10030 bytes .../fi.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1118 bytes .../Resources/fi.lproj/SUUpdateAlert.strings | Bin 0 -> 1500 bytes .../fi.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2648 bytes .../A/Resources/fi.lproj/Sparkle.strings | Bin 0 -> 6184 bytes .../fr.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1042 bytes .../Resources/fr.lproj/SUUpdateAlert.strings | Bin 0 -> 1496 bytes .../fr.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2764 bytes .../A/Resources/fr.lproj/Sparkle.strings | Bin 0 -> 10170 bytes .../he.lproj/SUAutomaticUpdateAlert.strings | 11 + .../Resources/he.lproj/SUUpdateAlert.strings | 18 + .../A/Resources/he.lproj/Sparkle.strings | Bin 0 -> 5288 bytes .../hr.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1078 bytes .../Resources/hr.lproj/SUUpdateAlert.strings | Bin 0 -> 1560 bytes .../hr.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2468 bytes .../A/Resources/hr.lproj/Sparkle.strings | Bin 0 -> 9778 bytes .../hu.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1118 bytes .../Resources/hu.lproj/SUUpdateAlert.strings | Bin 0 -> 1584 bytes .../hu.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2596 bytes .../A/Resources/hu.lproj/Sparkle.strings | Bin 0 -> 10002 bytes .../is.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1034 bytes .../Resources/is.lproj/SUUpdateAlert.strings | Bin 0 -> 1452 bytes .../is.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2628 bytes .../A/Resources/is.lproj/Sparkle.strings | Bin 0 -> 5868 bytes .../it.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1058 bytes .../Resources/it.lproj/SUUpdateAlert.strings | Bin 0 -> 1540 bytes .../it.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2716 bytes .../A/Resources/it.lproj/Sparkle.strings | Bin 0 -> 8340 bytes .../ja.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 854 bytes .../Resources/ja.lproj/SUUpdateAlert.strings | Bin 0 -> 1256 bytes .../ja.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 1876 bytes .../A/Resources/ja.lproj/Sparkle.strings | Bin 0 -> 8552 bytes .../ko.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 790 bytes .../Resources/ko.lproj/SUUpdateAlert.strings | Bin 0 -> 1192 bytes .../ko.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 1892 bytes .../A/Resources/ko.lproj/Sparkle.strings | Bin 0 -> 6220 bytes .../nb.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1026 bytes .../Resources/nb.lproj/SUUpdateAlert.strings | Bin 0 -> 1352 bytes .../nb.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2452 bytes .../A/Resources/nb.lproj/Sparkle.strings | Bin 0 -> 9352 bytes .../nl.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1098 bytes .../Resources/nl.lproj/SUUpdateAlert.strings | Bin 0 -> 1508 bytes .../nl.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2660 bytes .../A/Resources/nl.lproj/Sparkle.strings | Bin 0 -> 8850 bytes .../pl.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1098 bytes .../Resources/pl.lproj/SUUpdateAlert.strings | Bin 0 -> 1548 bytes .../pl.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2620 bytes .../A/Resources/pl.lproj/Sparkle.strings | Bin 0 -> 7318 bytes .../SUAutomaticUpdateAlert.strings | Bin 0 -> 1034 bytes .../pt_BR.lproj/SUUpdateAlert.strings | Bin 0 -> 1524 bytes .../SUUpdatePermissionPrompt.strings | Bin 0 -> 2676 bytes .../A/Resources/pt_BR.lproj/Sparkle.strings | Bin 0 -> 9728 bytes .../SUAutomaticUpdateAlert.strings | Bin 0 -> 1058 bytes .../SUUpdatePermissionPrompt.strings | Bin 0 -> 2760 bytes .../A/Resources/pt_PT.lproj/Sparkle.strings | Bin 0 -> 7896 bytes .../ro.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1062 bytes .../Resources/ro.lproj/SUUpdateAlert.strings | Bin 0 -> 1556 bytes .../ro.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2604 bytes .../A/Resources/ro.lproj/Sparkle.strings | Bin 0 -> 9806 bytes .../ru.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1118 bytes .../Resources/ru.lproj/SUUpdateAlert.strings | Bin 0 -> 1624 bytes .../ru.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2780 bytes .../A/Resources/ru.lproj/Sparkle.strings | Bin 0 -> 7668 bytes .../sk.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1078 bytes .../Resources/sk.lproj/SUUpdateAlert.strings | Bin 0 -> 1532 bytes .../sk.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2604 bytes .../A/Resources/sk.lproj/Sparkle.strings | Bin 0 -> 7548 bytes .../sl.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1010 bytes .../Resources/sl.lproj/SUUpdateAlert.strings | Bin 0 -> 1520 bytes .../sl.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2504 bytes .../A/Resources/sl.lproj/Sparkle.strings | Bin 0 -> 7944 bytes .../sv.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1114 bytes .../Resources/sv.lproj/SUUpdateAlert.strings | Bin 0 -> 1596 bytes .../sv.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2640 bytes .../A/Resources/sv.lproj/Sparkle.strings | Bin 0 -> 7834 bytes .../th.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 970 bytes .../Resources/th.lproj/SUUpdateAlert.strings | Bin 0 -> 1404 bytes .../th.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2272 bytes .../A/Resources/th.lproj/Sparkle.strings | Bin 0 -> 8492 bytes .../tr.lproj/SUAutomaticUpdateAlert.strings | Bin 0 -> 1046 bytes .../Resources/tr.lproj/SUUpdateAlert.strings | Bin 0 -> 1428 bytes .../tr.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2612 bytes .../A/Resources/tr.lproj/Sparkle.strings | Bin 0 -> 9716 bytes .../Resources/uk.lproj/SUUpdateAlert.strings | Bin 0 -> 1664 bytes .../uk.lproj/SUUpdatePermissionPrompt.strings | Bin 0 -> 2600 bytes .../A/Resources/uk.lproj/Sparkle.strings | Bin 0 -> 7860 bytes .../SUAutomaticUpdateAlert.strings | Bin 0 -> 726 bytes .../zh_CN.lproj/SUUpdateAlert.strings | Bin 0 -> 1080 bytes .../SUUpdatePermissionPrompt.strings | Bin 0 -> 1736 bytes .../A/Resources/zh_CN.lproj/Sparkle.strings | Bin 0 -> 6128 bytes .../SUAutomaticUpdateAlert.strings | Bin 0 -> 738 bytes .../zh_TW.lproj/SUUpdateAlert.strings | Bin 0 -> 1092 bytes .../SUUpdatePermissionPrompt.strings | Bin 0 -> 1756 bytes .../A/Resources/zh_TW.lproj/Sparkle.strings | Bin 0 -> 5748 bytes .../Sparkle.framework/Versions/A/Sparkle | Bin 0 -> 1416656 bytes .../Sparkle.framework/Versions/Current | 1 + package/windows/WinSparkle.dll | Bin 0 -> 1769984 bytes package/windows/installer.nsi | 1 + 187 files changed, 664 insertions(+), 1 deletion(-) create mode 120000 package/macos/Impactor.app/Frameworks/Sparkle.framework/Resources create mode 120000 package/macos/Impactor.app/Frameworks/Sparkle.framework/Sparkle create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Info.plist create mode 100755 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate create mode 100755 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/fileop create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/PkgInfo create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/AppIcon.icns create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/Base.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/SUStatus.nib/keyedobjects-101300.nib create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/SUStatus.nib/keyedobjects.nib create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ar.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ca.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/da.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/el.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/es.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fi.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fr.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/he.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hr.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hu.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/is.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/it.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ko.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nb.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nl.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pl.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_PT.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ro.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ru.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sk.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sl.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sv.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/th.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/tr.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/uk.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_TW.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Base.lproj/SUAutomaticUpdateAlert.nib/keyedobjects-101300.nib create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Base.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Base.lproj/SUUpdateAlert.nib/keyedobjects-101300.nib create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Base.lproj/SUUpdateAlert.nib/keyedobjects.nib create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Base.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Info.plist create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ReleaseNotesColorStyle.css create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects-101300.nib create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ar.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ca.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ca.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ca.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/el.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/el.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/fi.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/fi.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/he.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/he.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/he.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/hr.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/hr.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/hu.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/hu.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ko.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/nb.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/nb.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ro.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/sk.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/sl.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/th.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/tr.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/uk.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.strings create mode 100644 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings create mode 100755 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Sparkle create mode 120000 package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/Current create mode 100644 package/windows/WinSparkle.dll diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 17cee3fa..9bbce510 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -214,6 +214,11 @@ jobs: mv build/universal/${{ env.BINARY_NAME }} build/dmg/${{ env.BUNDLE_NAME }}.app/Contents/MacOS/${{ env.BINARY_NAME }} # for udid mv build/udid build/dmg/${{ env.BUNDLE_NAME }}.app/Contents/MacOS/udid + # bump version + plutil -replace CFBundleVersion -string "${{ github.run_number }}" build/dmg/${{ env.BUNDLE_NAME }}.app/Contents/Info.plist + # get project version + VERSION=$(grep '^version *= *' Cargo.toml | head -n1 | sed 's/version *= *"\(.*\)"/\1/') + plutil -replace CFBundleShortVersionString -string "$VERSION" build/dmg/${{ env.BUNDLE_NAME }}.app/Contents/Info.plist - name: Codesign run: | @@ -239,8 +244,26 @@ jobs: xcrun notarytool submit build/out/${{ env.BUNDLE_NAME }}.dmg --apple-id "${{ secrets.APPLE_ID_EMAIL }}" --password "${{ secrets.APPLE_ID_PASSWORD }}" --team-id "${{ secrets.APPLE_ID_TEAM }}" --wait xcrun stapler staple build/out/${{ env.BUNDLE_NAME }}.dmg + - name: Setup Sparkle + id: get_version + run: | + curl -L -o Sparkle-2.4.2.tar.xz https://github.com/sparkle-project/Sparkle/releases/download/2.8.0/Sparkle-2.8.0.tar.xz + tar -xJf Sparkle-2.4.2.tar.xz + chmod +x ./bin/generate_appcast + + VERSION=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" packages/*.app/Contents/Info.plist) + echo "VERSION=${VERSION}" >> $GITHUB_ENV + + - name: Make Appcast + run: | + echo "$SPARKLE_PRIVATE_KEY" | ./bin/generate_appcast --ed-key-file - --download-url-prefix https://github.com/khcrysalis/PlumeImpactor/releases/latest/download/ update/out/ + env: + SPARKLE_PRIVATE_KEY: ${{ secrets.SPARKLE_PRIVATE_KEY }} + - name: Upload Universal DMG uses: actions/upload-artifact@v4 with: name: ${{ env.BINARY_NAME }}-macos-universal - path: build/out/${{ env.BUNDLE_NAME }}.dmg + path: | + build/out/${{ env.BUNDLE_NAME }}.dmg + build/out/appcast.xml diff --git a/Cargo.lock b/Cargo.lock index b098acb3..94ec80d3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3019,6 +3019,7 @@ dependencies = [ "plume_core", "plume_utils", "rustls 0.23.32", + "sparkle-updater", "thiserror 2.0.16", "tokio", "uuid", @@ -4090,6 +4091,23 @@ dependencies = [ "sha2", ] +[[package]] +name = "sparkle-sys" +version = "0.1.0" +source = "git+https://github.com/hankbao/sparkle-updater?rev=762e703#762e70394d9c835140cb0992b57e4487ec844068" +dependencies = [ + "objc", +] + +[[package]] +name = "sparkle-updater" +version = "0.1.0" +source = "git+https://github.com/hankbao/sparkle-updater?rev=762e703#762e70394d9c835140cb0992b57e4487ec844068" +dependencies = [ + "sparkle-sys", + "winsparkle-sys", +] + [[package]] name = "spin" version = "0.5.2" @@ -5292,6 +5310,11 @@ dependencies = [ "toml 0.5.11", ] +[[package]] +name = "winsparkle-sys" +version = "0.1.0" +source = "git+https://github.com/hankbao/sparkle-updater?rev=762e703#762e70394d9c835140cb0992b57e4487ec844068" + [[package]] name = "wit-bindgen" version = "0.46.0" diff --git a/apps/plumeimpactor/Cargo.toml b/apps/plumeimpactor/Cargo.toml index 605eb0fe..0fd7b97c 100644 --- a/apps/plumeimpactor/Cargo.toml +++ b/apps/plumeimpactor/Cargo.toml @@ -22,6 +22,7 @@ image = { version = "0.25.1", default-features = false, features = ["png"] } rustls = { version = "0.23.32", features = ["ring"] } keyring = { version = "3.6.3", default-features = false, features = ["windows-native", "apple-native", "linux-native"] } +sparkle-updater = { git = "https://github.com/hankbao/sparkle-updater", rev = "762e703", package = "sparkle-updater" } [target.'cfg(target_os = "windows")'.build-dependencies] embed-manifest = "1.4" diff --git a/apps/plumeimpactor/build.rs b/apps/plumeimpactor/build.rs index 1c18c1dc..295eef0b 100644 --- a/apps/plumeimpactor/build.rs +++ b/apps/plumeimpactor/build.rs @@ -28,6 +28,8 @@ fn embed_windows_manifest(name: &str) { { let mut res = winres::WindowsResource::new(); res.set_icon("../../package/windows/icon.ico"); + res.append_resource("DSAPub", "../../package/windows/dsa_pub.pem"); + res.set_resource_type("DSAPub", "DSAPEM"); res.compile().unwrap(); } } diff --git a/apps/plumeimpactor/src/main.rs b/apps/plumeimpactor/src/main.rs index bb69aac3..f9916f80 100644 --- a/apps/plumeimpactor/src/main.rs +++ b/apps/plumeimpactor/src/main.rs @@ -11,9 +11,16 @@ use std::{ path::{Path, PathBuf} }; +use sparkle_updater::Updater; + #[tokio::main] async fn main() { _ = rustls::crypto::ring::default_provider().install_default().unwrap(); + + { + let updater = Updater::new(); + updater.check_for_updates(); + } let _ = wxdragon::main(|_| { frame::PlumeFrame::new().show(); diff --git a/package/macos/Impactor.app/Contents/Info.plist b/package/macos/Impactor.app/Contents/Info.plist index a63c4ecb..0f43332f 100644 --- a/package/macos/Impactor.app/Contents/Info.plist +++ b/package/macos/Impactor.app/Contents/Info.plist @@ -30,5 +30,13 @@ AppIcon CFBundleIconName AppIcon + SUEnableDownloaderService + + SUEnableInstallerLauncherService + + SUFeedURL + https://github.com/khcrysalis/PlumeImpactor/releases/latest/download/appcast.xml + SUPublicEDKey + 0jcLch5+zoYsVnfx2/MJGz0skKio2cLP7JsYCGzzpFA= diff --git a/package/macos/Impactor.app/Frameworks/Sparkle.framework/Resources b/package/macos/Impactor.app/Frameworks/Sparkle.framework/Resources new file mode 120000 index 00000000..953ee36f --- /dev/null +++ b/package/macos/Impactor.app/Frameworks/Sparkle.framework/Resources @@ -0,0 +1 @@ +Versions/Current/Resources \ No newline at end of file diff --git a/package/macos/Impactor.app/Frameworks/Sparkle.framework/Sparkle b/package/macos/Impactor.app/Frameworks/Sparkle.framework/Sparkle new file mode 120000 index 00000000..b2c52731 --- /dev/null +++ b/package/macos/Impactor.app/Frameworks/Sparkle.framework/Sparkle @@ -0,0 +1 @@ +Versions/Current/Sparkle \ No newline at end of file diff --git a/package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Info.plist b/package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Info.plist new file mode 100644 index 00000000..b6777339 --- /dev/null +++ b/package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Info.plist @@ -0,0 +1,58 @@ + + + + + BuildMachineOSBuild + 22D68 + CFBundleDevelopmentRegion + English + CFBundleExecutable + Autoupdate + CFBundleIconFile + AppIcon.icns + CFBundleIdentifier + org.sparkle-project.Sparkle.Autoupdate + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.27.1 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.106 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 14C18 + DTPlatformName + macosx + DTPlatformVersion + 13.1 + DTSDKBuild + 22C55 + DTSDKName + macosx13.1 + DTXcode + 1420 + DTXcodeBuild + 14C18 + LSApplicationCategoryType + public.app-category.utilities + LSBackgroundOnly + 1 + LSMinimumSystemVersion + 10.9 + LSUIElement + 1 + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate b/package/macos/Impactor.app/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate new file mode 100755 index 0000000000000000000000000000000000000000..92ae856654303d320d39c77e9bcce85b305b44f4 GIT binary patch literal 542144 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�M1@E>EKJ@*XmE{N2d$Wp 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