Compare commits

...

2 Commits

Author SHA1 Message Date
OpenAI Codex
1f5edd74a1 release: align particle.6 android and ios coordinates
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
2026-09-18 22:54:28 +08:00
OpenAI Codex
aca1364241 chore: package particle.6 ios RN release
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
2026-09-18 22:30:58 +08:00
8 changed files with 14 additions and 10 deletions

View File

@@ -6,7 +6,7 @@ const marker = "// MapLibreParticleRNTestHost NavSea Particle release SDK";
module.exports = function withParticleNativeAndroid(config) { module.exports = function withParticleNativeAndroid(config) {
return withProjectBuildGradle(config, (project) => { return withProjectBuildGradle(config, (project) => {
if (project.modResults.contents.includes(marker)) return project; if (project.modResults.contents.includes(marker)) return project;
project.modResults.contents += `\n${marker}\ngradle.projectsEvaluated {\n allprojects { p ->\n p.repositories.maven { repository -> repository.url = p.uri("https://pbf.jpcn.ccwu.cc/maven") }\n p.configurations.configureEach { configuration ->\n configuration.resolutionStrategy.dependencySubstitution {\n substitute module("org.maplibre.gl:android-sdk-opengl") using module("cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.5")\n }\n }\n }\n}\nrootProject.ext.set("org.maplibre.reactnative.nativeVersion", "13.4.1")\nrootProject.ext.set("org.maplibre.reactnative.nativeVariant", "opengl")\n`; project.modResults.contents += `\n${marker}\ngradle.projectsEvaluated {\n allprojects { p ->\n p.repositories.maven { repository -> repository.url = p.uri("https://pbf.jpcn.ccwu.cc/maven") }\n p.configurations.configureEach { configuration ->\n configuration.resolutionStrategy.dependencySubstitution {\n substitute module("org.maplibre.gl:android-sdk-opengl") using module("cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.6")\n }\n }\n }\n}\nrootProject.ext.set("org.maplibre.reactnative.nativeVersion", "13.4.1")\nrootProject.ext.set("org.maplibre.reactnative.nativeVariant", "opengl")\n`;
return project; return project;
}); });
}; };

View File

@@ -2,9 +2,13 @@
## Unreleased ## Unreleased
## 13.4.1-particle.6(iOS RN / Metal 接入发行)
- 新增 iOS `WeatherRuntimeBridge` RN 0.85 codegen TurboModule,实现既有 V3/V4 与视觉控制 ABI;每个命令从当前 Fabric/UIManager view registry 重新解析 MLRN MapView,不缓存 map/runtime 指针。 - 新增 iOS `WeatherRuntimeBridge` RN 0.85 codegen TurboModule,实现既有 V3/V4 与视觉控制 ABI;每个命令从当前 Fabric/UIManager view registry 重新解析 MLRN MapView,不缓存 map/runtime 指针。
- 新增 iOS pod/autolinking/codegen provider。pod 复用 `MapLibreReactNative` 的唯一 MapLibre product,不嵌入第二份 framework。 - 新增 iOS pod/autolinking/codegen provider。pod 复用 `MapLibreReactNative` 的唯一 MapLibre product,不嵌入第二份 framework。
- iOS Podfile 的 post-install 现在必须同时调用 `$MLRN.post_install(installer)` 和 `$MLRN_PARTICLE.post_install(installer)`;两者消费同一 `$MLRN_SPM_SPEC`,以让 MLRN、App 与 Particle pod target 共享一个 MapLibre package/product。 - iOS Podfile 的 post-install 现在必须同时调用 `$MLRN.post_install(installer)` 和 `$MLRN_PARTICLE.post_install(installer)`;两者消费同一 `$MLRN_SPM_SPEC`,以让 MLRN、App 与 Particle pod target 共享一个 MapLibre package/product。
- Android Native 与 RN package 同步发布为 `13.4.1-particle.6`;Android 继续使用已验证的 OpenGL Renderer 代码路径,本次通过新坐标重新构建并发布,不复用 `.5` 坐标。
- iOS binary distribution 同步使用 `6.28.0-particle.6`,固定为 Metal renderer,并与 RN `.6` 作为同一 release train。
## 13.4.1-particle.5(当前 Android QBIN V4 Renderer 基线) ## 13.4.1-particle.5(当前 Android QBIN V4 Renderer 基线)

View File

@@ -1,6 +1,6 @@
# @navsea/maplibre-particle-rn # @navsea/maplibre-particle-rn
当前版本:`13.4.1-particle.5`。Android Native 必须配套 `cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.5`。本包是 React Native 的薄控制面,不负责 Map 组件、provider、HTTP、manifest、下载、缓存或 NavSea 业务策略。 当前版本:`13.4.1-particle.6`。本版本作为 Android+iOS 统一接入发行版:Android Native 配套 `cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.6`,iOS 使用 `6.28.0-particle.6` 的 Metal SwiftPM binary distribution。本包是 React Native 的薄控制面,不负责 Map 组件、provider、HTTP、manifest、下载、缓存或 NavSea 业务策略。
## 当前推荐主链:QBIN V4 ## 当前推荐主链:QBIN V4
@@ -37,7 +37,7 @@ Podfile 的 `post_install do |installer|` 必须同时调用 `$MLRN.post_install
RN tgz: RN tgz:
```text ```text
https://pbf.jpcn.ccwu.cc/npm/navsea-maplibre-particle-rn-13.4.1-particle.5.tgz https://pbf.jpcn.ccwu.cc/npm/navsea-maplibre-particle-rn-13.4.1-particle.6.tgz
``` ```
Native Maven repository: Native Maven repository:
@@ -49,7 +49,7 @@ https://pbf.jpcn.ccwu.cc/maven
Native coordinate: Native coordinate:
```text ```text
cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.5 cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.6
``` ```
Expo plugin 与 `android/build.gradle` 必须指向同一 `.4`。正常 Consumer 不复制 AAR、不依赖 MapLibreParticleLab 源码路径,也不以 Maven Local 作为公网验证主路径。完整 Linux 发布与 Win11 验证流程见 `docs/50_Step记录/STEP-080_Android_AAR与RNTestHost标准构建流水线_v2.md`。 Expo plugin 与 `android/build.gradle` 必须指向同一 Android Native `.6`。正常 Consumer 不复制 AAR、不依赖 MapLibreParticleLab 源码路径,也不以 Maven Local 作为公网验证主路径。完整 Linux 发布与 Win11 验证流程见 `docs/50_Step记录/STEP-080_Android_AAR与RNTestHost标准构建流水线_v2.md`。

View File

@@ -14,7 +14,7 @@ android {
dependencies { dependencies {
implementation "com.facebook.react:react-android" implementation "com.facebook.react:react-android"
implementation "org.jetbrains.kotlin:kotlin-stdlib:2.1.20" implementation "org.jetbrains.kotlin:kotlin-stdlib:2.1.20"
implementation "cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.5" implementation "cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.6"
compileOnly project(":maplibre_maplibre-react-native") compileOnly project(":maplibre_maplibre-react-native")
} }

View File

@@ -20,7 +20,7 @@ const iosTag = "navsea-maplibre-particle-rn-maplibre-spm";
module.exports = function withNavSeaMapLibreParticle(config) { module.exports = function withNavSeaMapLibreParticle(config) {
config = withProjectBuildGradle(config, (project) => { config = withProjectBuildGradle(config, (project) => {
if (project.modResults.contents.includes(androidMarker)) return project; if (project.modResults.contents.includes(androidMarker)) return project;
project.modResults.contents += `\n${androidMarker}\ngradle.projectsEvaluated {\n allprojects { p ->\n p.repositories.maven { repository -> repository.url = p.uri("https://pbf.jpcn.ccwu.cc/maven") }\n p.configurations.configureEach { configuration ->\n configuration.resolutionStrategy.dependencySubstitution {\n substitute module("org.maplibre.gl:android-sdk-opengl") using module("cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.5")\n }\n }\n }\n}\nrootProject.ext.set("org.maplibre.reactnative.nativeVersion", "13.4.1")\nrootProject.ext.set("org.maplibre.reactnative.nativeVariant", "opengl")\n`; project.modResults.contents += `\n${androidMarker}\ngradle.projectsEvaluated {\n allprojects { p ->\n p.repositories.maven { repository -> repository.url = p.uri("https://pbf.jpcn.ccwu.cc/maven") }\n p.configurations.configureEach { configuration ->\n configuration.resolutionStrategy.dependencySubstitution {\n substitute module("org.maplibre.gl:android-sdk-opengl") using module("cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.6")\n }\n }\n }\n}\nrootProject.ext.set("org.maplibre.reactnative.nativeVersion", "13.4.1")\nrootProject.ext.set("org.maplibre.reactnative.nativeVariant", "opengl")\n`;
return project; return project;
}); });

View File

@@ -1,6 +1,6 @@
{ {
"name": "@navsea/maplibre-particle-rn", "name": "@navsea/maplibre-particle-rn",
"version": "13.4.1-particle.5", "version": "13.4.1-particle.6",
"description": "NavSea MapLibre Particle React Native pure Field Renderer API.", "description": "NavSea MapLibre Particle React Native pure Field Renderer API.",
"license": "BSD-2-Clause", "license": "BSD-2-Clause",
"main": "src/index.ts", "main": "src/index.ts",

View File

@@ -1 +1 @@
13.4.1-particle.5 13.4.1-particle.6

View File

@@ -19,4 +19,4 @@ bazel build --//:renderer=metal //platform/ios:MapLibre.dynamic
3. 用真实 URL、checksum、commit 和构建记录填充 `release-manifest.json`; 3. 用真实 URL、checksum、commit 和构建记录填充 `release-manifest.json`;
4. 将相同 URL/checksum 代入 `Package.swift.template`,再在独立 distribution repository 发布。 4. 将相同 URL/checksum 代入 `Package.swift.template`,再在独立 distribution repository 发布。
外部 binary distribution 版本独立于 `platform/ios/VERSION`;首个建议坐标为 `6.28.0-particle.1`。Metal XCFramework 已在本地构建和 Pleiades iPad mini 5 RN Test Host signed Release 路径验证;artifact 尚未发布远端,manifest 的 URL 仍为 `LOCAL_BUILD`,不得伪造下载地址。 外部 binary distribution 版本独立于 `platform/ios/VERSION`;当前统一发行坐标为 `6.28.0-particle.6`,与 RN/Android 的 `13.4.1-particle.6` 共用 Particle release revision `.6`。Metal XCFramework 已在 Pleiades iPad mini 5 RN Test Host signed Release 路径验证;正式发行必须使用远端 HTTPS binary URL 和 SwiftPM checksum。