From 26554f0580c9bb568c29fa9f48009f39d7e9af4a Mon Sep 17 00:00:00 2001 From: Ivan Murzak Date: Thu, 16 Apr 2026 20:21:49 -0700 Subject: [PATCH] feat: upgrade to dynamic DLL dependency system Adopt the new dynamic DLL dependency system provided by com.ivanmurzak.unity.mcp 0.64.0. NuGet-backed dependencies are now resolved dynamically by the core MCP package at runtime instead of being declared as OpenUPM scoped-registry packages. - Bump com.ivanmurzak.unity.mcp 0.63.3 -> 0.64.0 - Drop org.nuget.* scopes from package.json and Packages/manifest.json - Drop org.nuget.* package IDs from Installer.Manifest.cs - Gate compilation with UNITY_MCP_READY define constraint on all asmdefs - Clean up obsolete Installer test fixtures and tests --- .../Installer.Manifest.cs | 4 -- .../Tests/Files/Correct/correct_manifest.json | 17 +---- .../Tests/Files/scopedregistries_empty_1.json | 11 ---- .../Tests/Files/scopedregistries_empty_2.json | 20 ------ .../Files/scopedregistries_empty_2.json.meta | 7 -- .../Tests/Files/scopedregistries_gone.json | 11 ---- .../Tests/Files/scopes_empty.json | 11 ---- .../Tests/Files/scopes_gone.json | 11 ---- .../Tests/Files/scopes_partial_1.json | 17 +---- .../Tests/Files/scopes_partial_2.json | 31 --------- .../Tests/Files/scopes_partial_2.json.meta | 7 -- .../Tests/Files/scopes_partial_3.json | 14 +--- .../Tests/Files/scopes_partial_4.json | 29 --------- .../Tests/Files/scopes_partial_4.json.meta | 7 -- .../Tests/Files/scopes_partial_5.json | 28 -------- .../Tests/Files/scopes_partial_5.json.meta | 7 -- .../Tests/ManifestInstallerTests.cs | 65 +++++++++---------- ...zak.Unity.MCP.ParticleSystem.Editor.asmdef | 4 +- ...ak.Unity.MCP.ParticleSystem.Runtime.asmdef | 5 +- ...ity.MCP.ParticleSystem.Editor.Tests.asmdef | 12 ++-- ...rzak.Unity.MCP.ParticleSystem.Tests.asmdef | 12 ++-- Unity-Package/Assets/root/package.json | 1 - Unity-Package/Packages/manifest.json | 12 ++-- Unity-Package/Packages/packages-lock.json | 6 +- Unity-Package/Unity-Package.slnx | 3 - 25 files changed, 65 insertions(+), 287 deletions(-) delete mode 100644 Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopedregistries_empty_2.json delete mode 100644 Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopedregistries_empty_2.json.meta delete mode 100644 Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_2.json delete mode 100644 Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_2.json.meta delete mode 100644 Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_4.json delete mode 100644 Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_4.json.meta delete mode 100644 Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_5.json delete mode 100644 Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_5.json.meta diff --git a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Installer.Manifest.cs b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Installer.Manifest.cs index f6bd1e3..155a695 100644 --- a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Installer.Manifest.cs +++ b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Installer.Manifest.cs @@ -34,10 +34,6 @@ public static partial class Installer public static readonly string[] PackageIds = new string[] { "com.ivanmurzak", // Ivan Murzak's OpenUPM packages "extensions.unity", // Ivan Murzak's OpenUPM packages (older) - "org.nuget.com.ivanmurzak", // Ivan Murzak's NuGet packages - "org.nuget.microsoft", // Microsoft NuGet packages - "org.nuget.system", // Microsoft NuGet packages - "org.nuget.r3" // R3 package NuGet package }; /// diff --git a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/Correct/correct_manifest.json b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/Correct/correct_manifest.json index 2334066..98e8f0d 100644 --- a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/Correct/correct_manifest.json +++ b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/Correct/correct_manifest.json @@ -3,17 +3,6 @@ "com.unity.ide.visualstudio": "2.0.23", "com.unity.test-framework": "1.1.33", "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.10", - "org.nuget.microsoft.aspnetcore.signalr.client": "9.0.7", - "org.nuget.microsoft.aspnetcore.signalr.protocols.json": "9.0.7", - "org.nuget.microsoft.bcl.memory": "9.0.7", - "org.nuget.microsoft.codeanalysis.csharp": "4.13.0", - "org.nuget.microsoft.extensions.caching.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.dependencyinjection.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.hosting": "9.0.7", - "org.nuget.microsoft.extensions.hosting.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.logging.abstractions": "9.0.7", - "org.nuget.r3": "1.3.0", - "org.nuget.system.text.json": "9.0.7", "PACKAGE_ID": "PACKAGE_VERSION" }, "scopedRegistries": [ @@ -22,11 +11,7 @@ "url": "https://package.openupm.com", "scopes": [ "com.ivanmurzak", - "extensions.unity", - "org.nuget.com.ivanmurzak", - "org.nuget.microsoft", - "org.nuget.system", - "org.nuget.r3" + "extensions.unity" ] } ] diff --git a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopedregistries_empty_1.json b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopedregistries_empty_1.json index f94ad81..68b930f 100644 --- a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopedregistries_empty_1.json +++ b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopedregistries_empty_1.json @@ -3,17 +3,6 @@ "com.unity.ide.visualstudio": "2.0.23", "com.unity.test-framework": "1.1.33", "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.10", - "org.nuget.microsoft.aspnetcore.signalr.client": "9.0.7", - "org.nuget.microsoft.aspnetcore.signalr.protocols.json": "9.0.7", - "org.nuget.microsoft.bcl.memory": "9.0.7", - "org.nuget.microsoft.codeanalysis.csharp": "4.13.0", - "org.nuget.microsoft.extensions.caching.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.dependencyinjection.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.hosting": "9.0.7", - "org.nuget.microsoft.extensions.hosting.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.logging.abstractions": "9.0.7", - "org.nuget.r3": "1.3.0", - "org.nuget.system.text.json": "9.0.7", "PACKAGE_ID": "PACKAGE_VERSION" }, "scopedRegistries": [] diff --git a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopedregistries_empty_2.json b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopedregistries_empty_2.json deleted file mode 100644 index f94ad81..0000000 --- a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopedregistries_empty_2.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "dependencies": { - "com.unity.ide.visualstudio": "2.0.23", - "com.unity.test-framework": "1.1.33", - "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.10", - "org.nuget.microsoft.aspnetcore.signalr.client": "9.0.7", - "org.nuget.microsoft.aspnetcore.signalr.protocols.json": "9.0.7", - "org.nuget.microsoft.bcl.memory": "9.0.7", - "org.nuget.microsoft.codeanalysis.csharp": "4.13.0", - "org.nuget.microsoft.extensions.caching.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.dependencyinjection.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.hosting": "9.0.7", - "org.nuget.microsoft.extensions.hosting.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.logging.abstractions": "9.0.7", - "org.nuget.r3": "1.3.0", - "org.nuget.system.text.json": "9.0.7", - "PACKAGE_ID": "PACKAGE_VERSION" - }, - "scopedRegistries": [] -} \ No newline at end of file diff --git a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopedregistries_empty_2.json.meta b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopedregistries_empty_2.json.meta deleted file mode 100644 index 7f6111e..0000000 --- a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopedregistries_empty_2.json.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 6638da5a68195494caee0689f3c9067b -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopedregistries_gone.json b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopedregistries_gone.json index bcdb7a6..079fa5c 100644 --- a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopedregistries_gone.json +++ b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopedregistries_gone.json @@ -3,17 +3,6 @@ "com.unity.ide.visualstudio": "2.0.23", "com.unity.test-framework": "1.1.33", "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.10", - "org.nuget.microsoft.aspnetcore.signalr.client": "9.0.7", - "org.nuget.microsoft.aspnetcore.signalr.protocols.json": "9.0.7", - "org.nuget.microsoft.bcl.memory": "9.0.7", - "org.nuget.microsoft.codeanalysis.csharp": "4.13.0", - "org.nuget.microsoft.extensions.caching.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.dependencyinjection.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.hosting": "9.0.7", - "org.nuget.microsoft.extensions.hosting.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.logging.abstractions": "9.0.7", - "org.nuget.r3": "1.3.0", - "org.nuget.system.text.json": "9.0.7", "PACKAGE_ID": "PACKAGE_VERSION" } } \ No newline at end of file diff --git a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_empty.json b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_empty.json index c556ab4..76c97c8 100644 --- a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_empty.json +++ b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_empty.json @@ -3,17 +3,6 @@ "com.unity.ide.visualstudio": "2.0.23", "com.unity.test-framework": "1.1.33", "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.10", - "org.nuget.microsoft.aspnetcore.signalr.client": "9.0.7", - "org.nuget.microsoft.aspnetcore.signalr.protocols.json": "9.0.7", - "org.nuget.microsoft.bcl.memory": "9.0.7", - "org.nuget.microsoft.codeanalysis.csharp": "4.13.0", - "org.nuget.microsoft.extensions.caching.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.dependencyinjection.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.hosting": "9.0.7", - "org.nuget.microsoft.extensions.hosting.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.logging.abstractions": "9.0.7", - "org.nuget.r3": "1.3.0", - "org.nuget.system.text.json": "9.0.7", "PACKAGE_ID": "PACKAGE_VERSION" }, "scopedRegistries": [ diff --git a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_gone.json b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_gone.json index 5b0829d..d4abc68 100644 --- a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_gone.json +++ b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_gone.json @@ -3,17 +3,6 @@ "com.unity.ide.visualstudio": "2.0.23", "com.unity.test-framework": "1.1.33", "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.10", - "org.nuget.microsoft.aspnetcore.signalr.client": "9.0.7", - "org.nuget.microsoft.aspnetcore.signalr.protocols.json": "9.0.7", - "org.nuget.microsoft.bcl.memory": "9.0.7", - "org.nuget.microsoft.codeanalysis.csharp": "4.13.0", - "org.nuget.microsoft.extensions.caching.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.dependencyinjection.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.hosting": "9.0.7", - "org.nuget.microsoft.extensions.hosting.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.logging.abstractions": "9.0.7", - "org.nuget.r3": "1.3.0", - "org.nuget.system.text.json": "9.0.7", "PACKAGE_ID": "PACKAGE_VERSION" }, "scopedRegistries": [ diff --git a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_1.json b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_1.json index ecd2092..ca94b8c 100644 --- a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_1.json +++ b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_1.json @@ -3,17 +3,6 @@ "com.unity.ide.visualstudio": "2.0.23", "com.unity.test-framework": "1.1.33", "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.10", - "org.nuget.microsoft.aspnetcore.signalr.client": "9.0.7", - "org.nuget.microsoft.aspnetcore.signalr.protocols.json": "9.0.7", - "org.nuget.microsoft.bcl.memory": "9.0.7", - "org.nuget.microsoft.codeanalysis.csharp": "4.13.0", - "org.nuget.microsoft.extensions.caching.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.dependencyinjection.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.hosting": "9.0.7", - "org.nuget.microsoft.extensions.hosting.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.logging.abstractions": "9.0.7", - "org.nuget.r3": "1.3.0", - "org.nuget.system.text.json": "9.0.7", "PACKAGE_ID": "PACKAGE_VERSION" }, "scopedRegistries": [ @@ -21,11 +10,7 @@ "name": "package.openupm.com", "url": "https://package.openupm.com", "scopes": [ - "com.ivanmurzak", - "extensions.unity", - "org.nuget.com.ivanmurzak", - "org.nuget.microsoft", - "org.nuget.system" + "com.ivanmurzak" ] } ] diff --git a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_2.json b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_2.json deleted file mode 100644 index dca084f..0000000 --- a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_2.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "dependencies": { - "com.unity.ide.visualstudio": "2.0.23", - "com.unity.test-framework": "1.1.33", - "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.10", - "org.nuget.microsoft.aspnetcore.signalr.client": "9.0.7", - "org.nuget.microsoft.aspnetcore.signalr.protocols.json": "9.0.7", - "org.nuget.microsoft.bcl.memory": "9.0.7", - "org.nuget.microsoft.codeanalysis.csharp": "4.13.0", - "org.nuget.microsoft.extensions.caching.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.dependencyinjection.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.hosting": "9.0.7", - "org.nuget.microsoft.extensions.hosting.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.logging.abstractions": "9.0.7", - "org.nuget.r3": "1.3.0", - "org.nuget.system.text.json": "9.0.7", - "PACKAGE_ID": "PACKAGE_VERSION" - }, - "scopedRegistries": [ - { - "name": "package.openupm.com", - "url": "https://package.openupm.com", - "scopes": [ - "com.ivanmurzak", - "extensions.unity", - "org.nuget.com.ivanmurzak", - "org.nuget.microsoft" - ] - } - ] -} \ No newline at end of file diff --git a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_2.json.meta b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_2.json.meta deleted file mode 100644 index 68864a8..0000000 --- a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_2.json.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 51450736ea50d354a9944c533946d562 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_3.json b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_3.json index 5a2d1a0..98e8f0d 100644 --- a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_3.json +++ b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_3.json @@ -3,17 +3,6 @@ "com.unity.ide.visualstudio": "2.0.23", "com.unity.test-framework": "1.1.33", "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.10", - "org.nuget.microsoft.aspnetcore.signalr.client": "9.0.7", - "org.nuget.microsoft.aspnetcore.signalr.protocols.json": "9.0.7", - "org.nuget.microsoft.bcl.memory": "9.0.7", - "org.nuget.microsoft.codeanalysis.csharp": "4.13.0", - "org.nuget.microsoft.extensions.caching.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.dependencyinjection.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.hosting": "9.0.7", - "org.nuget.microsoft.extensions.hosting.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.logging.abstractions": "9.0.7", - "org.nuget.r3": "1.3.0", - "org.nuget.system.text.json": "9.0.7", "PACKAGE_ID": "PACKAGE_VERSION" }, "scopedRegistries": [ @@ -22,8 +11,7 @@ "url": "https://package.openupm.com", "scopes": [ "com.ivanmurzak", - "extensions.unity", - "org.nuget.com.ivanmurzak" + "extensions.unity" ] } ] diff --git a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_4.json b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_4.json deleted file mode 100644 index 1ce5ba4..0000000 --- a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_4.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "dependencies": { - "com.unity.ide.visualstudio": "2.0.23", - "com.unity.test-framework": "1.1.33", - "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.10", - "org.nuget.microsoft.aspnetcore.signalr.client": "9.0.7", - "org.nuget.microsoft.aspnetcore.signalr.protocols.json": "9.0.7", - "org.nuget.microsoft.bcl.memory": "9.0.7", - "org.nuget.microsoft.codeanalysis.csharp": "4.13.0", - "org.nuget.microsoft.extensions.caching.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.dependencyinjection.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.hosting": "9.0.7", - "org.nuget.microsoft.extensions.hosting.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.logging.abstractions": "9.0.7", - "org.nuget.r3": "1.3.0", - "org.nuget.system.text.json": "9.0.7", - "PACKAGE_ID": "PACKAGE_VERSION" - }, - "scopedRegistries": [ - { - "name": "package.openupm.com", - "url": "https://package.openupm.com", - "scopes": [ - "com.ivanmurzak", - "extensions.unity" - ] - } - ] -} \ No newline at end of file diff --git a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_4.json.meta b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_4.json.meta deleted file mode 100644 index 17e6a2a..0000000 --- a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_4.json.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 94205363f83bfe64bb203ca208a1c489 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_5.json b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_5.json deleted file mode 100644 index 18b1858..0000000 --- a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_5.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "dependencies": { - "com.unity.ide.visualstudio": "2.0.23", - "com.unity.test-framework": "1.1.33", - "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.10", - "org.nuget.microsoft.aspnetcore.signalr.client": "9.0.7", - "org.nuget.microsoft.aspnetcore.signalr.protocols.json": "9.0.7", - "org.nuget.microsoft.bcl.memory": "9.0.7", - "org.nuget.microsoft.codeanalysis.csharp": "4.13.0", - "org.nuget.microsoft.extensions.caching.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.dependencyinjection.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.hosting": "9.0.7", - "org.nuget.microsoft.extensions.hosting.abstractions": "9.0.7", - "org.nuget.microsoft.extensions.logging.abstractions": "9.0.7", - "org.nuget.r3": "1.3.0", - "org.nuget.system.text.json": "9.0.7", - "PACKAGE_ID": "PACKAGE_VERSION" - }, - "scopedRegistries": [ - { - "name": "package.openupm.com", - "url": "https://package.openupm.com", - "scopes": [ - "com.ivanmurzak" - ] - } - ] -} \ No newline at end of file diff --git a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_5.json.meta b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_5.json.meta deleted file mode 100644 index 3bd4792..0000000 --- a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files/scopes_partial_5.json.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: aea555b5bd80fc24796859c8ec4a5cbf -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/ManifestInstallerTests.cs b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/ManifestInstallerTests.cs index f312770..0361d1f 100644 --- a/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/ManifestInstallerTests.cs +++ b/Installer/Assets/com.IvanMurzak/AI Particle System Installer/Tests/ManifestInstallerTests.cs @@ -7,9 +7,9 @@ │ See the LICENSE file in the project root for more information. │ └────────────────────────────────────────────────────────────────────────────┘ */ +using System.Collections.Generic; using System.IO; using NUnit.Framework; -using UnityEngine; namespace com.IvanMurzak.Unity.MCP.ParticleSystem.Installer.Tests { @@ -18,54 +18,51 @@ public class ManifestInstallerTests const string PackageIdTag = "PACKAGE_ID"; const string PackageVersionTag = "PACKAGE_VERSION"; const string FilesRoot = "Assets/com.IvanMurzak/AI Particle System Installer/Tests/Files"; - const string FilesCopyRoot = "Temp/com.IvanMurzak/AI Particle System Installer/Tests/Files"; + const string FilesCopyRoot = "Temp/AI Particle System Installer/Tests/Files"; static string CorrectManifestPath => $"{FilesRoot}/Correct/correct_manifest.json"; - [SetUp] - public void SetUp() + // Fixture names are enumerated once at test-discovery time so each appears as + // its own test case in the runner — a failure points at a specific fixture + // instead of hiding inside a single combined "All" test. + static IEnumerable FixtureNames() { - Debug.Log($"[{nameof(ManifestInstallerTests)}] SetUp"); - Directory.CreateDirectory(FilesCopyRoot); + foreach (var path in Directory.GetFiles(FilesRoot, "*.json", SearchOption.TopDirectoryOnly)) + yield return Path.GetFileName(path); } + [SetUp] + public void SetUp() => Directory.CreateDirectory(FilesCopyRoot); + [TearDown] public void TearDown() { - Debug.Log($"[{nameof(ManifestInstallerTests)}] TearDown"); - - // var files = Directory.GetFiles(FilesCopyRoot, "*.json", SearchOption.TopDirectoryOnly); - // foreach (var file in files) - // File.Delete(file); + if (!Directory.Exists(FilesCopyRoot)) + return; + foreach (var file in Directory.GetFiles(FilesCopyRoot, "*.json", SearchOption.TopDirectoryOnly)) + File.Delete(file); } - [Test] - public void All() + [TestCaseSource(nameof(FixtureNames))] + public void NormalizesManifestTo_CorrectManifest(string fixtureName) { - var files = Directory.GetFiles(FilesRoot, "*.json", SearchOption.TopDirectoryOnly); - var correctManifest = File.ReadAllText(CorrectManifestPath) + // Arrange — copy fixture to temp, substitute tags, keep Installer.Version + // deterministic so tests don't depend on OpenUPM's live response. + var src = Path.Combine(FilesRoot, fixtureName); + var dst = Path.Combine(FilesCopyRoot, fixtureName); + File.WriteAllText(dst, File.ReadAllText(src) .Replace(PackageVersionTag, Installer.Version) - .Replace(PackageIdTag, Installer.PackageId); + .Replace(PackageIdTag, Installer.PackageId)); - foreach (var file in files) - { - Debug.Log($"Found JSON file: {file}"); - - // Copy the file - var fileCopy = Path.Combine(FilesCopyRoot, Path.GetFileName(file)); - File.Copy(file, fileCopy, overwrite: true); - - // Arrange - File.WriteAllText(fileCopy, File.ReadAllText(fileCopy) - .Replace(PackageVersionTag, Installer.Version) - .Replace(PackageIdTag, Installer.PackageId)); + var expected = File.ReadAllText(CorrectManifestPath) + .Replace(PackageVersionTag, Installer.Version) + .Replace(PackageIdTag, Installer.PackageId); - // Act - Installer.AddScopedRegistryIfNeeded(fileCopy); + // Act — use the version-aware overload so the test is offline-safe. + Installer.AddScopedRegistryIfNeeded(dst, Installer.Version); - // Assert - var modifiedManifest = File.ReadAllText(fileCopy); - Assert.AreEqual(correctManifest, modifiedManifest, $"Modified manifest from {file} does not match the correct manifest."); - } + // Assert + Assert.AreEqual(expected, File.ReadAllText(dst), + $"Normalized manifest from '{fixtureName}' does not match the correct manifest."); } } } diff --git a/Unity-Package/Assets/root/Editor/Scripts/com.IvanMurzak.Unity.MCP.ParticleSystem.Editor.asmdef b/Unity-Package/Assets/root/Editor/Scripts/com.IvanMurzak.Unity.MCP.ParticleSystem.Editor.asmdef index 29db625..613c58c 100644 --- a/Unity-Package/Assets/root/Editor/Scripts/com.IvanMurzak.Unity.MCP.ParticleSystem.Editor.asmdef +++ b/Unity-Package/Assets/root/Editor/Scripts/com.IvanMurzak.Unity.MCP.ParticleSystem.Editor.asmdef @@ -14,7 +14,9 @@ "overrideReferences": false, "precompiledReferences": [], "autoReferenced": true, - "defineConstraints": [], + "defineConstraints": [ + "UNITY_MCP_READY" + ], "versionDefines": [], "noEngineReferences": false } \ No newline at end of file diff --git a/Unity-Package/Assets/root/Runtime/com.IvanMurzak.Unity.MCP.ParticleSystem.Runtime.asmdef b/Unity-Package/Assets/root/Runtime/com.IvanMurzak.Unity.MCP.ParticleSystem.Runtime.asmdef index d76d0ca..a7c4282 100644 --- a/Unity-Package/Assets/root/Runtime/com.IvanMurzak.Unity.MCP.ParticleSystem.Runtime.asmdef +++ b/Unity-Package/Assets/root/Runtime/com.IvanMurzak.Unity.MCP.ParticleSystem.Runtime.asmdef @@ -1,5 +1,6 @@ { "name": "com.IvanMurzak.Unity.MCP.ParticleSystem.Runtime", + "rootNamespace": "", "references": [ "com.IvanMurzak.Unity.MCP.Runtime" ], @@ -11,7 +12,9 @@ "overrideReferences": false, "precompiledReferences": [], "autoReferenced": true, - "defineConstraints": [], + "defineConstraints": [ + "UNITY_MCP_READY" + ], "versionDefines": [], "noEngineReferences": false } \ No newline at end of file diff --git a/Unity-Package/Assets/root/Tests/Editor/com.IvanMurzak.Unity.MCP.ParticleSystem.Editor.Tests.asmdef b/Unity-Package/Assets/root/Tests/Editor/com.IvanMurzak.Unity.MCP.ParticleSystem.Editor.Tests.asmdef index a2e355b..565d714 100644 --- a/Unity-Package/Assets/root/Tests/Editor/com.IvanMurzak.Unity.MCP.ParticleSystem.Editor.Tests.asmdef +++ b/Unity-Package/Assets/root/Tests/Editor/com.IvanMurzak.Unity.MCP.ParticleSystem.Editor.Tests.asmdef @@ -1,18 +1,20 @@ { "name": "com.IvanMurzak.Unity.MCP.ParticleSystem.Editor.Tests", + "rootNamespace": "", "references": [ "com.IvanMurzak.Unity.MCP.Editor", "com.IvanMurzak.Unity.MCP.Editor.Tests", "com.IvanMurzak.Unity.MCP.Runtime", "com.IvanMurzak.Unity.MCP.TestFiles", "com.IvanMurzak.Unity.MCP.ParticleSystem.Runtime", - "com.IvanMurzak.Unity.MCP.ParticleSystem.Editor" + "com.IvanMurzak.Unity.MCP.ParticleSystem.Editor", + "UnityEngine.TestRunner", + "UnityEditor.TestRunner" ], "includePlatforms": [ "Editor" ], "excludePlatforms": [], - "optionalUnityReferences": ["TestAssemblies"], "allowUnsafeCode": false, "overrideReferences": true, "precompiledReferences": [ @@ -23,11 +25,13 @@ "ReflectorNet.dll", "McpPlugin.dll", "McpPlugin.Common.dll", - "R3.dll" + "R3.dll", + "nunit.framework.dll" ], "autoReferenced": false, "defineConstraints": [ - "UNITY_INCLUDE_TESTS" + "UNITY_INCLUDE_TESTS", + "UNITY_MCP_READY" ], "versionDefines": [], "noEngineReferences": false diff --git a/Unity-Package/Assets/root/Tests/Runtime/com.IvanMurzak.Unity.MCP.ParticleSystem.Tests.asmdef b/Unity-Package/Assets/root/Tests/Runtime/com.IvanMurzak.Unity.MCP.ParticleSystem.Tests.asmdef index adca93f..68aa477 100644 --- a/Unity-Package/Assets/root/Tests/Runtime/com.IvanMurzak.Unity.MCP.ParticleSystem.Tests.asmdef +++ b/Unity-Package/Assets/root/Tests/Runtime/com.IvanMurzak.Unity.MCP.ParticleSystem.Tests.asmdef @@ -1,14 +1,16 @@ { "name": "com.IvanMurzak.Unity.MCP.ParticleSystem.Tests", + "rootNamespace": "", "references": [ "com.IvanMurzak.Unity.MCP.Runtime", "com.IvanMurzak.Unity.MCP.Tests", "com.IvanMurzak.Unity.MCP.TestFiles", - "com.IvanMurzak.Unity.MCP.ParticleSystem.Runtime" + "com.IvanMurzak.Unity.MCP.ParticleSystem.Runtime", + "UnityEngine.TestRunner", + "UnityEditor.TestRunner" ], "includePlatforms": [], "excludePlatforms": [], - "optionalUnityReferences": ["TestAssemblies"], "allowUnsafeCode": false, "overrideReferences": true, "precompiledReferences": [ @@ -19,11 +21,13 @@ "ReflectorNet.dll", "McpPlugin.dll", "McpPlugin.Common.dll", - "R3.dll" + "R3.dll", + "nunit.framework.dll" ], "autoReferenced": false, "defineConstraints": [ - "UNITY_INCLUDE_TESTS" + "UNITY_INCLUDE_TESTS", + "UNITY_MCP_READY" ], "versionDefines": [], "noEngineReferences": false diff --git a/Unity-Package/Assets/root/package.json b/Unity-Package/Assets/root/package.json index 698a9ed..d0e8f1f 100644 --- a/Unity-Package/Assets/root/package.json +++ b/Unity-Package/Assets/root/package.json @@ -36,7 +36,6 @@ "name": "package.openupm.com", "url": "https://package.openupm.com", "scopes": [ - "org.nuget", "extensions.unity", "com.ivanmurzak" ] diff --git a/Unity-Package/Packages/manifest.json b/Unity-Package/Packages/manifest.json index 86c6080..8dfc3de 100644 --- a/Unity-Package/Packages/manifest.json +++ b/Unity-Package/Packages/manifest.json @@ -24,13 +24,11 @@ "url": "https://package.openupm.com", "scopes": [ "com.ivanmurzak", - "extensions.unity", - "org.nuget.com.ivanmurzak", - "org.nuget.microsoft", - "org.nuget.system", - "org.nuget.r3" + "extensions.unity" ] } ], - "testables": ["com.ivanmurzak.unity.mcp"] -} + "testables": [ + "com.ivanmurzak.unity.mcp" + ] +} \ No newline at end of file diff --git a/Unity-Package/Packages/packages-lock.json b/Unity-Package/Packages/packages-lock.json index 499d671..17e8c93 100644 --- a/Unity-Package/Packages/packages-lock.json +++ b/Unity-Package/Packages/packages-lock.json @@ -1,13 +1,13 @@ { "dependencies": { "com.ivanmurzak.unity.mcp": { - "version": "0.51.5", + "version": "0.63.3", "depth": 0, "source": "registry", "dependencies": { "com.unity.modules.uielements": "1.0.0", "com.unity.test-framework": "1.1.33", - "extensions.unity.playerprefsex": "2.1.2", + "extensions.unity.playerprefsex": "2.1.3", "org.nuget.microsoft.aspnetcore.signalr.client": "10.0.3", "org.nuget.microsoft.aspnetcore.signalr.protocols.json": "10.0.3", "org.nuget.microsoft.bcl.memory": "10.0.3", @@ -50,7 +50,7 @@ "url": "https://packages.unity.com" }, "extensions.unity.playerprefsex": { - "version": "2.1.2", + "version": "2.1.3", "depth": 1, "source": "registry", "dependencies": {}, diff --git a/Unity-Package/Unity-Package.slnx b/Unity-Package/Unity-Package.slnx index 38419f9..5f9b78c 100644 --- a/Unity-Package/Unity-Package.slnx +++ b/Unity-Package/Unity-Package.slnx @@ -1,5 +1,2 @@  - - -