chore(collector): 下架死碼 arcrun-tray——但先把還活著的兩塊搬出來(D95 第一輪①)
`collector/cmd/arcrun-tray/`(fyne 版舊桌面殼)自 t193 換 Wails 後退役, t215 已明文記錄是死碼:三支打包腳本全部只裝 `arcrun-app`。 🔴 **但它不是「整個都死」——複驗發現兩塊還在被現役腳本用:** ① `assets/store/*.png`(12 顆 Store 圖示) ← `arcrun-app/build-msix.sh:75` 每次打 msix 都 `cp` 它們。 整個 `git rm` 掉 ⇒ 下一次打 msix 直接斷。 ② `build-msix.sh --setup`(在 Mac 上建 makemsix 的一次性流程) ← `arcrun-app/build-msix.sh:34` 的錯誤訊息就是叫人去跑它。 刪掉 ⇒ 新機器再也照不出 makemsix,而錯誤訊息會指向不存在的檔案。 ⇒ 先把這兩塊逐字搬進 `arcrun-app/`(不重寫),再刪整個目錄。 死碼下架最容易犯的錯就是「連還活著的那一塊一起丟掉」。 ⚠️ **`.git` 不會因此變小**:772 MB 裡的 524 MB 是那三顆二進位 (`ArcrunRAG-mac-unsigned.zip` 16 MB/`arcrun-collector` 15 MB/ `dist-mac/ArcrunRAG-v0.15.7.dmg`)**留在歷史裡**,`git rm` 只停止追蹤。 真正瘦身要重寫歷史(filter-repo)=第三輪,需 leo 親自拍板。 順手更新:`.gitignore` 的三條 tray 路徑(換成 arcrun-app 的 dist-msix)、 `landing/worker.js` 與 `docs/store-submission.md` 裡指向舊素材位置的路徑。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -7,17 +7,18 @@
|
||||
# 靠微軟自家開源跨平台工具 msix-packaging 的 `makemsix`。
|
||||
#
|
||||
# ⚠️ **不必自購簽章憑證**:送 Store 的 msix 不用簽——微軟過審後會用自己的憑證重簽。
|
||||
# 但**側載**(不走 Store)就必須自己簽。(官方說明見 ../arcrun-tray/docs/store-submission.md §2)
|
||||
# 但**側載**(不走 Store)就必須自己簽。
|
||||
#
|
||||
# 與舊 fyne 版(../arcrun-tray/build-msix.sh)的差別:
|
||||
# 舊版是單一 exe(collector 用 //go:embed 吃進去);
|
||||
# 沿革:舊 fyne 版(`../arcrun-tray/`)是單一 exe(collector 用 //go:embed 吃進去);
|
||||
# (2026-08-06 起改回一個 exe:collector 編進 Arcrun.exe,`--collector` 換身分。
|
||||
# 以下敘述保留為沿革)**Wails 版曾是兩個 exe**(見 supervise.go 的
|
||||
# os.Executable() 同層查找)⇒ 兩個都要進 msix root,缺一個就「裝了不會同步」。
|
||||
# 🔴 2026-08-18(D95 第一輪):`arcrun-tray/` 已整個下架,
|
||||
# 它的 `--setup`(建 makemsix)與 Store 圖示都已搬進本目錄——見下方 --setup 段與 assets/store/。
|
||||
#
|
||||
# 前置(一次就好):
|
||||
# brew install mingw-w64 cmake icu4c
|
||||
# bash ../arcrun-tray/build-msix.sh --setup # 建 makemsix(約 5-10 分鐘)
|
||||
# bash build-msix.sh --setup # 建 makemsix(約 5-10 分鐘)
|
||||
#
|
||||
# 用法:
|
||||
# IDENTITY_NAME=<Partner Center 的 Name> \
|
||||
@@ -29,9 +30,41 @@ cd "$(dirname "$0")"
|
||||
|
||||
MSIX_SDK_DIR="${MSIX_SDK_DIR:-$HOME/.cache/msix-packaging}"
|
||||
MAKEMSIX="$MSIX_SDK_DIR/.vs/bin/makemsix"
|
||||
|
||||
# ── --setup:建 makemsix(一次性)────────────────────────────────────────
|
||||
# 🔴 2026-08-18:**逐字取自 `arcrun-tray/build-msix.sh`**(512ea9f 之後未再改動),不是重寫。
|
||||
# 那個目錄是死碼要下架,但**這一段不是死的**——本腳本原本第 34 行就叫人去跑它。
|
||||
# 死碼下架時最容易犯的錯是「連還活著的那一塊一起丟掉」,所以先搬過來再刪。
|
||||
if [[ "${1:-}" == "--setup" ]]; then
|
||||
echo "① clone msix-packaging(微軟開源,匿名讀取,不碰 GitHub 寫入)"
|
||||
[[ -d "$MSIX_SDK_DIR" ]] || git clone --depth 1 https://github.com/microsoft/msix-packaging.git "$MSIX_SDK_DIR"
|
||||
|
||||
echo "② 修 C++ 標準:14 → 17"
|
||||
# 為什麼要修:這套 SDK 停在 2022 年、寫死 C++14,但 Homebrew 現在的 ICU 標頭
|
||||
# 用了 std::is_same_v 等 C++17 語法 ⇒ 不修必炸 'no template named is_same_v'。
|
||||
# **兩個檔都要改**——頂層改了還會被 xerces 子專案的設定蓋回去(實際踩過的坑)。
|
||||
for f in "$MSIX_SDK_DIR/CMakeLists.txt" "$MSIX_SDK_DIR/lib/xerces/CMakeLists.txt"; do
|
||||
sed -i.bak 's/set(CMAKE_CXX_STANDARD 14)/set(CMAKE_CXX_STANDARD 17)/' "$f"
|
||||
done
|
||||
|
||||
ICU_PREFIX="$(brew --prefix icu4c@77 2>/dev/null || brew --prefix icu4c)"
|
||||
[[ -f "$ICU_PREFIX/include/unicode/uset.h" ]] || { echo "❌ 找不到 ICU 標頭。先跑:brew install icu4c" >&2; exit 1; }
|
||||
|
||||
echo "③ cmake 配置(--pack 才會有打包功能,預設是關的)"
|
||||
mkdir -p "$MSIX_SDK_DIR/.vs" && cd "$MSIX_SDK_DIR/.vs"
|
||||
cmake -DCMAKE_BUILD_TYPE=MinSizeRel -DXML_PARSER=xerces -DSKIP_BUNDLES=off \
|
||||
-DUSE_VALIDATION_PARSER=on -DMSIX_PACK=on -DMSIX_SAMPLES=off -DMSIX_TESTS=off \
|
||||
-DCMAKE_OSX_ARCHITECTURES="$(uname -m)" -DCMAKE_TOOLCHAIN_FILE=../cmake/macos.cmake \
|
||||
-DUSE_MSIX_SDK_ZLIB=on -DMACOS=on -DCMAKE_CXX_FLAGS="-I$ICU_PREFIX/include" ..
|
||||
echo "④ 編(約 5-10 分鐘)"
|
||||
make -j"$(sysctl -n hw.ncpu)"
|
||||
echo "✅ makemsix 完成:$MAKEMSIX"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
[[ -x "$MAKEMSIX" ]] || {
|
||||
echo "❌ 找不到 makemsix:$MAKEMSIX"
|
||||
echo " 先跑一次:bash ../arcrun-tray/build-msix.sh --setup"
|
||||
echo " 先跑一次:bash build-msix.sh --setup"
|
||||
exit 1
|
||||
}
|
||||
|
||||
@@ -72,7 +105,8 @@ rm -rf "$OUT" && mkdir -p "$OUT/root/Assets"
|
||||
cp build/bin/arcrun-app.exe "$OUT/root/Arcrun.exe"
|
||||
|
||||
echo "② 複製 Store 圖示(沿用 CIS 版,不重產——sips 縮放會把方形拉扁)"
|
||||
cp ../arcrun-tray/assets/store/*.png "$OUT/root/Assets/"
|
||||
# 2026-08-18(D95 第一輪):素材從 `../arcrun-tray/assets/store/` 搬到本目錄底下。
|
||||
cp assets/store/*.png "$OUT/root/Assets/"
|
||||
|
||||
echo "③ 寫 AppxManifest.xml(能力宣告誠實且最小化)"
|
||||
cat > "$OUT/root/AppxManifest.xml" <<EOF
|
||||
|
||||
Reference in New Issue
Block a user