feat(installer): rebuild package manager with ui toolkit
Publish UPM package / publish (push) Successful in 2s

This commit is contained in:
2026-08-26 12:48:35 +08:00
parent 9bdc57fd88
commit 96480dd488
8 changed files with 702 additions and 135 deletions
+10 -15
View File
@@ -31,19 +31,22 @@ namespace ShrinkSDK.Installer
AtomicWrite(manifest.ToString(Formatting.Indented) + Environment.NewLine);
}
internal static void EnsurePackageInstallation(ShrinkSdkPackageEntry package)
internal static void EnsurePackageInstallation(
System.Collections.Generic.IEnumerable<ShrinkSdkPackageEntry> packages)
{
var manifest = ReadManifest();
EnsureShrinkSdkRegistry(manifest);
EnsurePinnedDependency(manifest, package.PackageName, package.Version);
if (package.RequiresUniTask)
var requiresUniTask = false;
foreach (var package in packages)
{
EnsurePinnedDependency(
manifest,
ShrinkSdkPackageCatalog.UniTaskPackageName,
ShrinkSdkPackageCatalog.UniTaskGitUrl);
EnsurePinnedDependency(manifest, package.PackageName, package.Version);
requiresUniTask |= package.RequiresUniTask;
}
if (requiresUniTask)
EnsurePinnedDependency(manifest, ShrinkSdkPackageCatalog.UniTaskPackageName,
ShrinkSdkPackageCatalog.UniTaskGitUrl);
AtomicWrite(manifest.ToString(Formatting.Indented) + Environment.NewLine);
}
@@ -104,14 +107,6 @@ namespace ShrinkSDK.Installer
manifest["dependencies"] = dependencies;
}
var existing = dependencies[packageName];
if (existing != null && !string.Equals(existing.Value<string>(), version, StringComparison.Ordinal))
{
throw new InvalidOperationException(
"Packages/manifest.json already pins " + packageName + " to " + existing.Value<string>() +
". ShrinkSDK requires the fixed version " + version + ".");
}
dependencies[packageName] = version;
}