From bbce96426aa7aea27019ca9cd76f161e79314fee Mon Sep 17 00:00:00 2001 From: cneicy Date: Wed, 26 Aug 2026 11:06:24 +0800 Subject: [PATCH] fix(migration): validate minimal Unity consumers --- Assets/Modules/ShrinkApp.Starter.Basic | 2 +- Assets/Modules/ShrinkContext.AppAdapter | 2 +- Assets/Modules/ShrinkInstaller | 2 +- Assets/Modules/ShrinkTutorial | 2 +- DESIGN.md | 8 +++--- README.md | 4 +-- ...nitialize-ShrinkSdkPackageRepositories.ps1 | 2 +- .../Validate-PublishedUpmConsumers.sh | 25 +++++++++++-------- 8 files changed, 26 insertions(+), 21 deletions(-) diff --git a/Assets/Modules/ShrinkApp.Starter.Basic b/Assets/Modules/ShrinkApp.Starter.Basic index 12eb248..91cae21 160000 --- a/Assets/Modules/ShrinkApp.Starter.Basic +++ b/Assets/Modules/ShrinkApp.Starter.Basic @@ -1 +1 @@ -Subproject commit 12eb248d1725fe1b90938365a19e06d6d5b85311 +Subproject commit 91cae215532ad3f65c99e1ff8d561cf2c5612748 diff --git a/Assets/Modules/ShrinkContext.AppAdapter b/Assets/Modules/ShrinkContext.AppAdapter index 041194a..d89ea48 160000 --- a/Assets/Modules/ShrinkContext.AppAdapter +++ b/Assets/Modules/ShrinkContext.AppAdapter @@ -1 +1 @@ -Subproject commit 041194af20e474837ddb60ab71dd83696224d895 +Subproject commit d89ea4899bf94f85267949195d9b1b5a3884b766 diff --git a/Assets/Modules/ShrinkInstaller b/Assets/Modules/ShrinkInstaller index 2ef9ad8..a4eebd0 160000 --- a/Assets/Modules/ShrinkInstaller +++ b/Assets/Modules/ShrinkInstaller @@ -1 +1 @@ -Subproject commit 2ef9ad827ba221a81ceee79b7aecb43d7739186f +Subproject commit a4eebd039385d8d77efbc2659672f9fa5d2b24b5 diff --git a/Assets/Modules/ShrinkTutorial b/Assets/Modules/ShrinkTutorial index b2ce563..fbba140 160000 --- a/Assets/Modules/ShrinkTutorial +++ b/Assets/Modules/ShrinkTutorial @@ -1 +1 @@ -Subproject commit b2ce5637a001ed14c48839e7b238542f0d42e3ce +Subproject commit fbba140fd6e9d7d44e52eb9d513a2c6db9339690 diff --git a/DESIGN.md b/DESIGN.md index 32c0445..ee42d96 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -90,11 +90,11 @@ ShrinkSDK Workspace/ | `com.cneicy.shrink-command` | 0.2.0 | 路径式命令、权限与同步/异步执行 | | `com.cneicy.shrink-network` | 0.2.0 | 消息、RPC、权限、诊断、TCP/KCP/Loopback 与服务器生成 | | `com.cneicy.shrink-mod-framework` | 0.2.1 | 模组发现、依赖、可逆生命周期、命名空间内容覆盖、外部 DLL revision 与 Harmony lease | -| `com.cneicy.shrink-tutorial` | 0.1.0 | 数据驱动引导、遮罩、锚点、触发与持久化 | +| `com.cneicy.shrink-tutorial` | 0.1.1 | 数据驱动引导、遮罩、锚点、触发与持久化 | | `com.cneicy.shrink-context-core` | 0.1.0 | 可逆效应、coeffect、fiber、声明式 loader 与诊断 | | `com.cneicy.shrink-app-core` | 0.1.1 | App 设置、服务门面、ClassicHost 兼容面与宿主协议 | -| `com.cneicy.shrink-app-starter-basic` | 0.1.1 | 默认 Context 组合根、配置资产和示例入口 | -| `com.cneicy.shrink-context-app-adapter` | 0.1.1 | ContextLoader 宿主、Profile/JSON、诊断与基准 | +| `com.cneicy.shrink-app-starter-basic` | 0.1.2 | 默认 Context 组合根、配置资产和示例入口 | +| `com.cneicy.shrink-context-app-adapter` | 0.1.2 | ContextLoader 宿主、Profile/JSON、诊断与基准 | | `com.cneicy.shrink-context-eventbus-adapter` | 0.1.0 | EventBus 生成绑定的可逆 EffectAttach 包装 | | `com.cneicy.shrink-datasaver-integration-eventbus` | 2.1.0 | DataSaver 事件桥 | | `com.cneicy.shrink-datasaver-integration-app` | 0.1.0 | DataSaver App installer/原生 Context 组件 | @@ -104,7 +104,7 @@ ShrinkSDK Workspace/ | `com.cneicy.shrink-network-integration-eventbus` | 0.1.1 | 网络事件广播、裁决结果与 delta 去重 | | `com.cneicy.shrink-network-integration-app` | 0.1.0 | Network App installer/原生 Context 组件 | | `com.cneicy.shrink-shared-codegen` | 0.1.0 | App、Command、Network 共用的 Editor-only IL 后处理注册表生成器 | -| `com.cneicy.shrink-installer` | 0.1.4 | 安全合并公开 registry、显示诊断并固定版本安装 Starter 或选定模块的 Editor 引导包 | +| `com.cneicy.shrink-installer` | 0.1.5 | 安全合并公开 registry、显示诊断并固定版本安装 Starter 或选定模块的 Editor 引导包 | `ShrinkShared.CodeGen` 不反向引用业务 asmdef,只按程序集名与类型全名读取 Cecil 元数据,因此业务包可以依赖它而不形成包循环。 diff --git a/README.md b/README.md index 2b41a44..81b45bb 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ git submodule update --init --recursive } ``` -然后按精确版本添加包,例如 `com.cneicy.shrink-app-starter-basic: 0.1.1`。Git 备用安装同样必须固定标签,例如: +然后按精确版本添加包,例如 `com.cneicy.shrink-app-starter-basic: 0.1.2`。Git 备用安装同样必须固定标签,例如: ```text https://git.crash.work/ShrinkSDK/ShrinkEventBus.git#v2.0.0 @@ -37,7 +37,7 @@ https://git.crash.work/ShrinkSDK/ShrinkEventBus.git#v2.0.0 也可先通过固定标签安装 Editor 引导包: ```text -https://git.crash.work/ShrinkSDK/Installer.git#v0.1.4 +https://git.crash.work/ShrinkSDK/Installer.git#v0.1.5 ``` 随后在 Unity 打开 `ShrinkSDK/Packages`。安装器只合并 `com.cneicy` registry,并将内置目录中的固定版本及其必要的固定 UniTask revision 写入 manifest;它不写认证信息,也不复制模板到 `Assets`。 diff --git a/Tools/RepositoryMigration/Initialize-ShrinkSdkPackageRepositories.ps1 b/Tools/RepositoryMigration/Initialize-ShrinkSdkPackageRepositories.ps1 index 41c570f..0d25723 100644 --- a/Tools/RepositoryMigration/Initialize-ShrinkSdkPackageRepositories.ps1 +++ b/Tools/RepositoryMigration/Initialize-ShrinkSdkPackageRepositories.ps1 @@ -45,7 +45,7 @@ $DevelopmentHostOnlyDependencies = @{ 'com.cneicy.shrink-network-integration-app' = '0.1.0' } 'com.cneicy.shrink-context-app-adapter' = [ordered]@{ - 'com.cneicy.shrink-app-starter-basic' = '0.1.1' + 'com.cneicy.shrink-app-starter-basic' = '0.1.2' 'com.cneicy.shrink-command' = '0.2.0' 'com.cneicy.shrink-command-integration-app' = '0.1.0' 'com.cneicy.shrink-datasaver-integration-app' = '0.1.0' diff --git a/Tools/UpmConsumerValidation/Validate-PublishedUpmConsumers.sh b/Tools/UpmConsumerValidation/Validate-PublishedUpmConsumers.sh index 95e1ccf..c93d0d2 100644 --- a/Tools/UpmConsumerValidation/Validate-PublishedUpmConsumers.sh +++ b/Tools/UpmConsumerValidation/Validate-PublishedUpmConsumers.sh @@ -48,8 +48,11 @@ public static class PublishedUpmConsumerValidator { Run(() => { - VerifyPackage("com.cneicy.shrink-app-starter-basic", "0.1.1", "ShrinkApp.Starter.Basic.Runtime"); - RequireManifestValue("com.cneicy.shrink-app-starter-basic", "0.1.1"); + VerifyPackage("com.cneicy.shrink-app-starter-basic", "0.1.2", "ShrinkApp.Starter.Basic.Runtime"); + VerifyPackage("com.cneicy.shrink-context-app-adapter", "0.1.2", "ShrinkContext.AppAdapter.Runtime"); + VerifyPackage("com.cneicy.shrink-tutorial", "0.1.1", "ShrinkTutorial.Runtime"); + RequireManifestValue("com.cneicy.shrink-app-starter-basic", "0.1.2"); + RequireManifestValue("com.cneicy.shrink-tutorial", "0.1.1"); RequireManifestValue("com.cysharp.unitask", UniTaskUrl); RequireRegistry("com.cneicy", RegistryUrl); }); @@ -71,10 +74,10 @@ public static class PublishedUpmConsumerValidator { try { - VerifyPackage("com.cneicy.shrink-installer", "0.1.4", "ShrinkInstaller.Editor"); + VerifyPackage("com.cneicy.shrink-installer", "0.1.5", "ShrinkInstaller.Editor"); RequireManifestValue( "com.cneicy.shrink-installer", - "https://git.crash.work/ShrinkSDK/Installer.git#v0.1.4"); + "https://git.crash.work/ShrinkSDK/Installer.git#v0.1.5"); var catalog = FindType("ShrinkSDK.Installer.ShrinkSdkPackageCatalog"); var starter = catalog.GetField("StarterBasic", BindingFlags.Static | BindingFlags.NonPublic) @@ -86,7 +89,7 @@ public static class PublishedUpmConsumerValidator ?? throw new InvalidOperationException("Installer manifest installation method was not found."); install.Invoke(null, new[] { starter }); - RequireManifestValue("com.cneicy.shrink-app-starter-basic", "0.1.1"); + RequireManifestValue("com.cneicy.shrink-app-starter-basic", "0.1.2"); RequireManifestValue("com.cysharp.unitask", UniTaskUrl); RequireRegistry("com.cneicy", RegistryUrl); RequireRegistry("com.example", "https://registry.npmjs.org/"); @@ -104,9 +107,10 @@ public static class PublishedUpmConsumerValidator { Run(() => { - VerifyPackage("com.cneicy.shrink-installer", "0.1.4", "ShrinkInstaller.Editor"); - VerifyPackage("com.cneicy.shrink-app-starter-basic", "0.1.1", "ShrinkApp.Starter.Basic.Runtime"); - RequireManifestValue("com.cneicy.shrink-app-starter-basic", "0.1.1"); + VerifyPackage("com.cneicy.shrink-installer", "0.1.5", "ShrinkInstaller.Editor"); + VerifyPackage("com.cneicy.shrink-app-starter-basic", "0.1.2", "ShrinkApp.Starter.Basic.Runtime"); + VerifyPackage("com.cneicy.shrink-context-app-adapter", "0.1.2", "ShrinkContext.AppAdapter.Runtime"); + RequireManifestValue("com.cneicy.shrink-app-starter-basic", "0.1.2"); RequireManifestValue("com.cysharp.unitask", UniTaskUrl); RequireRegistry("com.cneicy", RegistryUrl); RequireRegistry("com.example", "https://registry.npmjs.org/"); @@ -287,7 +291,8 @@ write_manifest "$registry_project" '{ } ], "dependencies": { - "com.cneicy.shrink-app-starter-basic": "0.1.1", + "com.cneicy.shrink-app-starter-basic": "0.1.2", + "com.cneicy.shrink-tutorial": "0.1.1", "com.cysharp.unitask": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask#7c0f199fe0d3fc528024488ccd671e6c7b27745b", "com.unity.nuget.newtonsoft-json": "3.2.2" } @@ -314,7 +319,7 @@ write_manifest "$installer_project" '{ } ], "dependencies": { - "com.cneicy.shrink-installer": "https://git.crash.work/ShrinkSDK/Installer.git#v0.1.4", + "com.cneicy.shrink-installer": "https://git.crash.work/ShrinkSDK/Installer.git#v0.1.5", "com.unity.nuget.newtonsoft-json": "3.2.2", "com.unity.test-framework": "1.1.33" }