From 5261f21c1ad73eb142f0cb3d425f164d6ec2b822 Mon Sep 17 00:00:00 2001 From: OpenAI Codex Date: Wed, 9 Sep 2026 11:42:43 +0800 Subject: [PATCH] release: configure particle Maven repository --- .../MapLibre粒子Android发布与ReactNative包设计_v1.md | 4 ++-- .../MapLibreParticlePackageConsumerTestHost/README.md | 2 +- packages/maplibre-particle-rn/README.md | 2 +- packages/maplibre-particle-rn/app.plugin.js | 2 +- release/maplibre-particle/release-manifest.json | 11 +++++++++-- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/docs/30_设计/MapLibre粒子Android发布与ReactNative包设计_v1.md b/docs/30_设计/MapLibre粒子Android发布与ReactNative包设计_v1.md index 6ae8ba67b..d1825df0b 100644 --- a/docs/30_设计/MapLibre粒子Android发布与ReactNative包设计_v1.md +++ b/docs/30_设计/MapLibre粒子Android发布与ReactNative包设计_v1.md @@ -4,7 +4,7 @@ 真实基础为 MapLibre Native Android `13.4.1`,共同 core commit 为 `18545ca10d296704b2cba675b182ff2c8da24588`,本发行只准备 Android OpenGL。正式规则为 `<上游版本>-particle.<修订号>`;首发为 `13.4.1-particle.1`。正式 npm 包为 `@navsea/maplibre-particle-rn@13.4.1-particle.1`,正式 Maven 坐标为 `cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.1`。 -`step061` 是已经完成验证的开发阶段制品编号,不是正式发行版本。release manifest 是 `release/maplibre-particle/release-manifest.json`;registry URL 暂不决定,manifest 中 npm/Maven server 字段均为 null。 +`step061` 是已经完成验证的开发阶段制品编号,不是正式发行版本。release manifest 是 `release/maplibre-particle/release-manifest.json`。Android Maven 正式仓库已确定为 `https://pbf.jpcn.ccwu.cc/maven`;npm registry 仍暂不决定。 ## Consumer 依赖关系 @@ -24,4 +24,4 @@ WeatherColorLayer 与 RasterParticleLayer 是 Core-only style layer,不是 Rea ## 发布与升级边界 -Consumer 不编译 MapLibre Native 源码,也不使用 workspace、relative source path、CMake path 或软链接。registry 未决定时,`.tgz` 与 Maven Local/临时 staging 只用于预发布验证,不是最终部署决定。未来升级到新的上游版本时,按 `13.5.0-particle.1` 等新发行线重新完成 Native、tarball Consumer 和 APK 验证;通过后才单独创建 release tag。 +Consumer 不编译 MapLibre Native 源码,也不使用 workspace、relative source path、CMake path 或软链接。Android Native 统一从 `https://pbf.jpcn.ccwu.cc/maven` 解析;npm registry 未决定时,`.tgz` 只用于正式 npm 包的预发布 Consumer 验证。未来升级到新的上游版本时,按 `13.5.0-particle.1` 等新发行线重新完成 Native、tarball Consumer 和 APK 验证;通过后才单独创建 release tag。 diff --git a/integration/react-native/MapLibreParticlePackageConsumerTestHost/README.md b/integration/react-native/MapLibreParticlePackageConsumerTestHost/README.md index 827405e8c..e04a008af 100644 --- a/integration/react-native/MapLibreParticlePackageConsumerTestHost/README.md +++ b/integration/react-native/MapLibreParticlePackageConsumerTestHost/README.md @@ -11,4 +11,4 @@ npx expo prebuild --platform android --clean npx expo run:android ``` -该 `.tgz` 是发布物而非源码路径。用户还需将 `cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.1` 手工发布至 Maven Local 或临时 staging;package plugin 会将 MLRN 的唯一 OpenGL SDK 请求替换为该正式 artifact。Codex 不执行上述 Android 命令。 +该 `.tgz` 是发布物而非源码路径。Android 正式 artifact 已发布到 `https://pbf.jpcn.ccwu.cc/maven`;package plugin 会自动加入该仓库,并将 MLRN 的唯一 OpenGL SDK 请求替换为 `cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.1`。 diff --git a/packages/maplibre-particle-rn/README.md b/packages/maplibre-particle-rn/README.md index 0a1cff0ec..c88392419 100644 --- a/packages/maplibre-particle-rn/README.md +++ b/packages/maplibre-particle-rn/README.md @@ -2,7 +2,7 @@ `13.4.1-particle.1` 是 NavSea 维护的 MapLibre Particle React Native 入口。Consumer 只直接安装本包;它以唯一 `@maplibre/maplibre-react-native` native module 提供 `Map`、`Camera` 等 MapLibre RN API,并以 `WeatherRuntime` 提供既有 HostField/Timeline 低频控制。 -Android 使用 `cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.1`。Expo Consumer 应在 app config 加入 `@navsea/maplibre-particle-rn/app.plugin`;plugin 将 MLRN 对 OpenGL SDK 的请求替换为该唯一 NavSea artifact,避免官方与 Particle AAR 同时进入 APK。最终 registry 未决定时,可先安装本包的 `.tgz`,并由用户将正式 AAR 放入 Maven Local 或临时 staging。 +Android 使用 `cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.1`。Expo Consumer 应在 app config 加入 `@navsea/maplibre-particle-rn/app.plugin`;plugin 将 MLRN 对 OpenGL SDK 的请求替换为该唯一 NavSea artifact,避免官方与 Particle AAR 同时进入 APK。正式 Android Maven 仓库为 `https://pbf.jpcn.ccwu.cc/maven`;plugin 会自动加入该仓库。npm registry 尚未决定时,可先安装本包的 `.tgz` 做发布包验证。 WeatherColor 和 RasterParticle 是 Core-only style layer,不是 React 组件;请用 `createParticleWeatherStyle()` 或等价 style JSON 声明。binary submit 始终为 `metadataJson + local file:// payload`,通过 `WeatherRuntime.submitWindField()` 进入既有 Native/Core 链路;本包不创建第二套 Timeline 或 field ingress。 diff --git a/packages/maplibre-particle-rn/app.plugin.js b/packages/maplibre-particle-rn/app.plugin.js index 95452309b..50e3a9bfc 100644 --- a/packages/maplibre-particle-rn/app.plugin.js +++ b/packages/maplibre-particle-rn/app.plugin.js @@ -6,7 +6,7 @@ const marker = "// @navsea/maplibre-particle-rn Android OpenGL release"; module.exports = function withNavSeaMapLibreParticle(config) { return withProjectBuildGradle(config, (project) => { if (project.modResults.contents.includes(marker)) return project; - project.modResults.contents += `\n${marker}\ngradle.projectsEvaluated {\n allprojects { p ->\n p.repositories.mavenLocal()\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.1")\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.1")\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; }); }; diff --git a/release/maplibre-particle/release-manifest.json b/release/maplibre-particle/release-manifest.json index 75b240032..ce56f83a3 100644 --- a/release/maplibre-particle/release-manifest.json +++ b/release/maplibre-particle/release-manifest.json @@ -5,7 +5,11 @@ "upstreamCoreCommit": "18545ca10d296704b2cba675b182ff2c8da24588", "extensionLine": "particle", "extensionRevision": 1, - "platform": { "android": { "renderer": "opengl" } }, + "platform": { + "android": { + "renderer": "opengl" + } + }, "reactNativePackage": { "name": "@navsea/maplibre-particle-rn", "version": "13.4.1-particle.1", @@ -22,6 +26,9 @@ "encoding": "float32-le", "layout": "interleaved-uv" }, - "publication": { "npmRegistry": null, "mavenRepository": null }, + "publication": { + "npmRegistry": null, + "mavenRepository": "https://pbf.jpcn.ccwu.cc/maven" + }, "releaseTag": null }