Files
MapLibreParticleLab/docs/报告/STEP-080_Android_AAR与RNTestHost标准构建流水线_Codex完成报告_v1.md
OpenAI Codex 8d49d943f3
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
chore: add Android RN build pipeline
2026-09-13 21:31:28 +08:00

2.8 KiB
Raw Blame History

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,确认历史 .2 AAR/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.json version 与 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 文档。