3 Commits
Author SHA1 Message Date
cneicy 5398036d3b fix: download release SDK directly from Microsoft Blob
Publish NuGet packages / publish (push) Canceled after 1s
Publish UPM package / publish (push) Successful in 2s
2026-11-06 19:26:45 +08:00
cneicy 2ab8482359 feat: update Godot integration and coordinated package dependencies 2026-11-06 19:13:20 +08:00
cneicy 91f0141b86 chore: align SDK dependencies and document reusable capabilities
Publish UPM package / publish (push) Successful in 2s
Publish NuGet packages / publish (push) Successful in 3m38s
2026-09-29 10:14:46 +08:00
5 changed files with 19 additions and 8 deletions

No files matched your search

+2 -1
View File
@@ -63,7 +63,8 @@ jobs:
const release = metadata.releases.find(item => item.sdk?.version === sdkVersion); const release = metadata.releases.find(item => item.sdk?.version === sdkVersion);
const file = release?.sdk?.files?.find(item => item.rid === 'linux-x64' && item.name.endsWith('.tar.gz')); const file = release?.sdk?.files?.find(item => item.rid === 'linux-x64' && item.name.endsWith('.tar.gz'));
if (!file) throw new Error(`Linux x64 SDK archive not found for ${sdkVersion}`); if (!file) throw new Error(`Linux x64 SDK archive not found for ${sdkVersion}`);
const archiveResponse = await fetch(file.url); const archiveUrl = `https://dotnetcli.blob.core.windows.net/dotnet/Sdk/${sdkVersion}/dotnet-sdk-${sdkVersion}-linux-x64.tar.gz`;
const archiveResponse = await fetch(archiveUrl);
if (!archiveResponse.ok) throw new Error(`SDK download failed: ${archiveResponse.status}`); if (!archiveResponse.ok) throw new Error(`SDK download failed: ${archiveResponse.status}`);
await writeFile('/tmp/dotnet-sdk.tar.gz', new Uint8Array(await archiveResponse.arrayBuffer())); await writeFile('/tmp/dotnet-sdk.tar.gz', new Uint8Array(await archiveResponse.arrayBuffer()));
+2 -2
View File
@@ -5,7 +5,7 @@
<AssemblyName>ShrinkModFramework.Runtime</AssemblyName> <AssemblyName>ShrinkModFramework.Runtime</AssemblyName>
<RootNamespace>ShrinkModFramework</RootNamespace> <RootNamespace>ShrinkModFramework</RootNamespace>
<PackageId>ShrinkSDK.ModFramework</PackageId> <PackageId>ShrinkSDK.ModFramework</PackageId>
<Version>0.3.0</Version> <Version>0.3.7</Version>
<Description>Engine-neutral ShrinkSDK mod contracts and lifecycle.</Description> <Description>Engine-neutral ShrinkSDK mod contracts and lifecycle.</Description>
<Nullable>disable</Nullable> <Nullable>disable</Nullable>
<ShrinkCodeGenEnabled>false</ShrinkCodeGenEnabled> <ShrinkCodeGenEnabled>false</ShrinkCodeGenEnabled>
@@ -16,6 +16,6 @@
<Compile Include="..\Runtime\Core\ShrinkModBase.cs" /> <Compile Include="..\Runtime\Core\ShrinkModBase.cs" />
<Compile Include="..\Runtime\Core\ShrinkModHandle.cs" /> <Compile Include="..\Runtime\Core\ShrinkModHandle.cs" />
<Compile Include="..\Runtime\Metadata\*.cs" /> <Compile Include="..\Runtime\Metadata\*.cs" />
<PackageReference Include="ShrinkSDK.Runtime.Abstractions" Version="0.1.0" /> <PackageReference Include="ShrinkSDK.Runtime.Abstractions" Version="0.2.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>
+2 -2
View File
@@ -4,12 +4,12 @@
<AssemblyName>ShrinkModFramework.Godot</AssemblyName> <AssemblyName>ShrinkModFramework.Godot</AssemblyName>
<RootNamespace>ShrinkModFramework.Godot</RootNamespace> <RootNamespace>ShrinkModFramework.Godot</RootNamespace>
<PackageId>ShrinkSDK.ModFramework.Godot</PackageId> <PackageId>ShrinkSDK.ModFramework.Godot</PackageId>
<Version>0.1.0</Version> <Version>0.1.6</Version>
<Description>Collectible AssemblyLoadContext host for ShrinkSDK mods in Godot.</Description> <Description>Collectible AssemblyLoadContext host for ShrinkSDK mods in Godot.</Description>
<ShrinkCodeGenEnabled>false</ShrinkCodeGenEnabled> <ShrinkCodeGenEnabled>false</ShrinkCodeGenEnabled>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\DotNet~\ShrinkSDK.ModFramework.csproj" /> <ProjectReference Include="..\DotNet~\ShrinkSDK.ModFramework.csproj" />
<PackageReference Include="ShrinkSDK.Godot" Version="0.1.0" /> <PackageReference Include="ShrinkSDK.Godot" Version="0.2.1" />
</ItemGroup> </ItemGroup>
</Project> </Project>
+10
View File
@@ -712,3 +712,13 @@ public sealed partial class DemoFullMod : ShrinkModBase
- 模组资源系统 - 模组资源系统
- 模组命令系统 - 模组命令系统
- 模组专属存档与同步策略 - 模组专属存档与同步策略
## 可复用能力
<!-- shrink:capabilities -->
Capability: 模组发现、依赖、阶段生命周期、内容注册和外部程序集加载
Aliases: mod 插件 模组 模组退役 热加载 内容注册
Limits: 动态程序集不能假定全部卸载;宿主加载上下文须单独验证;不默认 NativeAOT
Extension: 模组声明、阶段钩子与宿主加载接口
Evidence: [ShrinkModContextHost](Runtime/Context/ShrinkModContextHost.cs)
<!-- /shrink:capabilities -->
+3 -3
View File
@@ -1,13 +1,13 @@
{ {
"name": "com.cneicy.shrink-mod-framework", "name": "com.cneicy.shrink-mod-framework",
"version": "0.3.0", "version": "0.3.7",
"displayName": "ShrinkModFramework", "displayName": "ShrinkModFramework",
"description": "Unity 模组框架,提供发现、依赖、可逆生命周期、命名空间内容注册与优先级覆盖。", "description": "Unity 模组框架,提供发现、依赖、可逆生命周期、命名空间内容注册与优先级覆盖。",
"unity": "2022.3", "unity": "2022.3",
"dependencies": { "dependencies": {
"com.unity.nuget.newtonsoft-json": "3.2.2", "com.unity.nuget.newtonsoft-json": "3.2.2",
"com.cneicy.shrink-context-core": "0.2.0", "com.cneicy.shrink-context-core": "0.3.1",
"com.cneicy.shrink-eventbus": "2.1.0", "com.cneicy.shrink-eventbus": "2.3.1",
"com.cysharp.unitask": "2.5.10" "com.cysharp.unitask": "2.5.10"
}, },
"keywords": [ "keywords": [