2.8 KiB
STEP-080 Android AAR 与 RN Test Host 标准构建流水线 Codex 完成报告 v1
结果
已完成 Android AAR → RN package → build-manifest → Windows RN Test Host 的固定交付流水线。正式默认 Linux 命令是:
tools/particle_android_pipeline/linux_build_publish.sh
它固定 OpenGL Release、四 ABI、publishOpenglreleasePublicationToMavenLocal、RN package TypeScript typecheck 与 npm tarball,并以完全版本相等为 hard gate。成功时输出 Git ignore 的版本隔离 bundle:
artifacts/maplibre-particle/<version>/build-manifest.json
manifest 是 Windows 唯一的 artifact/version 输入,包含 HEAD、branch、dirty 状态、RN/Native version、Maven coordinate、AAR/POM/module/tgz 的绝对路径/bytes/SHA-256、时间、四 ABI、OpenGL 和 Linux validation result。
Windows consumer 支持:
tools\particle_android_pipeline\windows_build_testhost.ps1 -ManifestPath <build-manifest.json> -DryRun
tools\particle_android_pipeline\windows_build_testhost.ps1 -ManifestPath <build-manifest.json>
它在写入前验证 manifest/bundle SHA,拒绝不同 SHA 的 Maven Local 覆盖,拒绝 dirty Test Host tracked source,固定 Test Host RN dependency 到 manifest tgz 和 native substitution 到 manifest coordinate。默认只构建 Debug APK 并输出其 path/bytes/SHA-256;默认不执行 ADB。-Install 与 -Install -Run 是唯一设备入口,固定使用 192.168.1.146。
Linux 验证
所有 Linux 验证均在 particle-codex tmux 内完成。
- Bash syntax 与无写入
--preflight:PASS。 - 使用现存完整 Maven Local
13.4.1-particle.3的--reuse-existing:PASS。该模式没有重新编译 AAR,也没有执行 Gradle publish;它验证 AAR/POM/module,确认历史.2AAR/POM/module 逐字节未变,经 build-output-throttle 完成 package TypeScript typecheck 与 npm pack。 - 生成 manifest 的 JSON、AAR/POM/module/tgz 路径、bytes、SHA-256、版本与 Maven coordinate:PASS。
- tgz 内
package/package.jsonversion 与 Native version:PASS。 git diff --check -- .gitignore:PASS。
此次实际 handoff 的 AAR SHA-256 是 9ef03eb0d0c03457adc04847cfa69fb67d85191daecd64d3b76db2ad8cc688cd;tgz SHA-256 是 6c8af6ff19adb4e25785b54bea3edd1dc7d0502d9158cf1c519d84b69d08ee55。
未执行与限制
- 为遵守任务边界,未再次运行完整四 ABI AAR build/Maven publish;默认脚本已保留该完整流程,复验只使用明确标记的 existing Maven Local mode。
- Linux 没有
pwsh,Windows PowerShell parser/static validation 记录为 unavailable,而非 PASS。 - 未运行 Windows APK/ADB/安装/设备、Jest、iOS/Metal。
- Native
VERSION、既有 JNI 修正、STEP-062 dirty、历史 untracked/build/cache/tgz 均未纳入本 Step 的提交;仅新增流水线、忽略规则与本 Step 文档。