docs: record STEP-060C local publish signing fix
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled

This commit is contained in:
OpenAI Codex
2026-09-07 22:05:24 +08:00
parent 5f0804e8ba
commit 9e0666c7c2
6 changed files with 103 additions and 5 deletions

View File

@@ -4,9 +4,9 @@
1. 确认当前为 `particle/main`,并记录 `git rev-parse HEAD`。Gate C 封存 Linux 环境是 custom MapLibre Native AAR 的构建环境;不要为 Test Host 生成工程的版本修改它。
2. 移走或清理 `~/.m2/repository/org/maplibre/gl/android-sdk-opengl/13.4.1/` 的旧 artifact,避免同坐标 provenance 混淆。2026-08-29 旧 AAR 的 SHA-256 是 `5c67d2751fafe211a0df4b82deded09ab1c07cf6ca0f4a12a880283287f85e5c`,只能作为 Gate C 历史证据。
3. 在 Gate C 封存 Linux 环境重新生成当前 HEAD OpenGL Release AAR:`cd platform/android && RENDERER=opengl BUILDTYPE=Release make apackage`。路径必须为 `MapLibreAndroid/build/outputs/aar/MapLibreAndroid-opengl-release.aar`。
4. 核对新 AAR 的 mtime、SHA-256(必须不同于旧证据),并从 classes.jar 确认含当前 `org/maplibre/android/maps/WeatherRuntime.class` 与 `MapLibreMap.class`。
5. 使用源码定义的精确 publication task 发布:`./gradlew :MapLibreAndroid:publishOpenglreleasePublicationToMavenLocal`。核对 Maven Local 出现 `org/maplibre/gl/android-sdk-opengl/13.4.1/`,且 AAR、POM、module metadata 都来自当前构建。
3. Gate C 已于 2026-09-07 为当前基线生成 OpenGL Release AAR;若下列 SHA-256 与 classes 核对通过,**不要为 STEP-060C 重新构建**:`platform/android/MapLibreAndroid/build/outputs/aar/MapLibreAndroid-opengl-release.aar`,SHA-256 `47646fb708d096cf5ee0c3b8eeaeb7e6083081279c79f4a642db554efe88fad7`,其中必须有 `org/maplibre/android/maps/WeatherRuntime.class` 与 `MapLibreMap.class`。仅当 checkout 已改变或该核对失败时,才在 Gate C 封存 Linux 环境执行 `cd platform/android && RENDERER=opengl BUILDTYPE=Release make apackage`。
4. 使用源码定义的精确 publication task 发布:`cd platform/android && ./gradlew :MapLibreAndroid:publishOpenglreleasePublicationToMavenLocal --console=plain`。STEP-060C 使 Maven Local 的 sign task 在无 signatory 时跳过;不得使用 `-x sign`、不得改坐标或创建 SNAPSHOT。Maven Central 正式 publication 仍要求签名。
5. 核对 Maven Local 出现 `org/maplibre/gl/android-sdk-opengl/13.4.1/`,其中 AAR SHA-256 仍为上述当前 Gate C 值,并同时有 POM 与 module metadata;它们必须来自当前构建,不能是 2026-08-29 的旧 AAR。
6. `cd integration/react-native/MapLibreParticleRNTestHost && npm ci && npx expo prebuild --platform android --clean`。`package-lock.json` 已在无 `--legacy-peer-deps` 的 npm 安装下通过;不要改用 Yarn 或生成 `yarn.lock`。本次 plugin 变更后必须 clean prebuild。
7. 检查生成 root Gradle 有 `MapLibreParticleRNTestHost custom OpenGL SDK`、`nativeVersion=13.4.1`、`nativeVariant=opengl`;Maven Central 必须排除精确 custom module `org.maplibre.gl:android-sdk-opengl`,使该 AAR 缺失时失败而非 fallback。MLRN 的 turf/annotation/scalebar 不是 custom SDK,不应被这个模块级排除误伤。
8. 首次 prebuild 后实际记录 Test Host 的 Gradle wrapper、AGP、Kotlin plugin、min/compile/targetSdk、NDK、JDK、Hermes 与 New Architecture。当前观察到的 `9.3.1/8.12.0/2.1.20/24/36/36/27.1.12297006` 属于 Test Host 生成工程,不等于 Gate C 环境。