diff --git a/TERMUX-ADAPTATION.md b/TERMUX-ADAPTATION.md index 1048010..441c59a 100644 --- a/TERMUX-ADAPTATION.md +++ b/TERMUX-ADAPTATION.md @@ -1,6 +1,6 @@ # Termux 适配:方案、改动清单与合并指南 -> 分支:`termux-glibc`(基于 `origin/dev`,14 个提交,HEAD `38d3024`) +> 分支:`termux-glibc`(基于 `origin/dev`,15 个提交,分叉点 `87ab878`,合并前 HEAD `e987e02`) > 目的:让主线快速了解这组代码改了什么、为什么、怎么验证、如何合并。 ## TL;DR @@ -97,8 +97,11 @@ ## 合并指南 -1. `git fetch origin && git rebase origin/dev`(分支基于 `7d8b3b9` 之后的 dev; - dev 若前进,先 rebase 再推)。 +1. ~~`git fetch origin && git rebase origin/dev`~~ → **实际按用户令走 `--no-ff` 合并** + (M156):`git merge --no-ff origin/termux-glibc`,15 个原提交一字未改地留在历史里, + 按平台识别 → 字体 → 文档 → Java → GPU → natives → MC 的分组可整组 revert。 + 与 dev 前进的 12 个提交**零文本冲突**(交集只有 `Cargo.lock` / 两个 README / + `crates/app-iced/Cargo.toml`)。 2. PR base:`dev`。CI 门禁:`fmt` / `clippy --workspace --all-targets -D warnings` / `test --workspace --all-targets` / `cargo deny`(本机没装 deny,PC 上补跑)。 3. 本机已知、**不影响 PC CI** 的三条失败: @@ -107,6 +110,15 @@ - `presenter settings_bridge`:mtime 热重载偶发(flaky,单跑 3 次 2 过 1 挂) 4. **不要提交**:`dist/`、`.gnu/`、任何 `ULL_MSA_CLIENT_ID` 值(仓库 Secret)。 5. 合并后建议真机再跑一次:`--software-renderer` 截图 + `ull java install 17` + MC 启动。 +6. **PC 门禁发现的两处、已在 M156 就地修掉**(都只在 Windows/PC 侧才暴露, + 所以在 Termux 上跑门禁看不出来): + - `game/java/discover.rs` 的两个 `#[cfg(unix)]` 测试,导入没跟着 gate + → Windows 上 `-D warnings` 判「未使用导入」。已把两个 `use` 同样 gate 成 `#[cfg(unix)]`; + 代价是这两个用例在 Windows 上不编译(由 Linux CI 覆盖)。 + - 本分支把 `game/java/install.rs`(456 行)与 `game/install/libraries.rs`(409 行) + 顶过了 400 行红线(`guards.yml` 的 `file-size`)。已按步骤拆出 + `install/termux_install.rs`、`install/one.rs`、`install/libraries/arm64_natives.rs`, + 行为不变、用例原样留在原处。 ## 验证矩阵(本机)