fix(maven): detect nested reactors from Java paths - #274
Conversation
|
@lithe review |
Lithe Review结论: ⛔ 存在阻塞问题 变更理解本次改动从所提交 Java 路径的祖先目录发现嵌套 Maven reactor,并通过生成器指纹和启动前校验淘汰旧的纯 Java 配置。 发现
验证
|
|
Addressed the blocking review findings in
Verified on macOS (36 focused tests; 242 Rust Core tests and Swift bridge) and Windows ARM64 via Parallels (36 focused tests, Release build, 88 Tauri tests). |
|
CI follow-up: all Maven-relevant and platform checks passed, including Windows CI, Rust Core and Swift bridge, and release package verification. The Swift test lane was rerun once after its first timeout. Both attempts hung at the unrelated |
|
The multi-reactor toolchain-requirement mismatch is valid, but it is broader than #272 and the nested-reactor launch fix in this PR. It is now tracked separately in #285 with an owner-aware requirements design, compatibility rules for JDK/vendor/wrapper constraints, and cross-platform acceptance criteria. PR #274 will not add that toolchain-contract expansion; its scope remains nested Maven discovery and per-entry launch ownership. |
Closes #272
Summary
project-mavenand reject stale plain-Java launch plansWhy
Windows run discovery can provide all Java paths in one request. Request-level Maven ownership incorrectly routed standalone sources and entries from other nested reactors through the first selected reactor. The fix lives in shared Rust Core and resolves owner, working directory, module, and Maven toolchain for each Java entry, so macOS and Windows use one deterministic implementation.
Validation
cargo fmt --manifest-path rust/lithe-core/Cargo.toml -- --checkcargo test --manifest-path rust/lithe-core/Cargo.toml tests::run_configuration:: -- --nocapture(36 passed on macOS)./scripts/verify-rust-core-comments.sh./scripts/verify-rust-core.sh(242 Rust Core tests passed, plus Swift bridge verification)./scripts/verify-shared-contracts.sh./scripts/verify-windows-boundaries.shaarch64-pc-windows-msvc)Out of scope
Maven
settings.xml, profiles, custom local repositories, and private repository credentials remain separate follow-up work.