diff --git a/Editor/BuildProcessors/FilterHotFixAssemblies.cs b/Editor/BuildProcessors/FilterHotFixAssemblies.cs index db1184d..e18f075 100644 --- a/Editor/BuildProcessors/FilterHotFixAssemblies.cs +++ b/Editor/BuildProcessors/FilterHotFixAssemblies.cs @@ -24,8 +24,8 @@ namespace HybridCLR.Editor.BuildProcessors Debug.Log($"[FilterHotFixAssemblies] disabled"); return assemblies; } - List allHotUpdateDllNames = SettingsUtil.HotUpdateAssemblyNames; - List allHotupdateDllFiles = SettingsUtil.HotUpdateAssemblyFiles; + List allHotUpdateDllNames = SettingsUtil.HotUpdateAssemblyNamesExcludePreserved; + List allHotupdateDllFiles = SettingsUtil.HotUpdateAssemblyFilesExcludePreserved; // 检查是否重复填写 var hotUpdateDllSet = new HashSet(); diff --git a/Editor/BuildProcessors/PatchScriptingAssemblyList.cs b/Editor/BuildProcessors/PatchScriptingAssemblyList.cs index 814391c..e7c0fad 100644 --- a/Editor/BuildProcessors/PatchScriptingAssemblyList.cs +++ b/Editor/BuildProcessors/PatchScriptingAssemblyList.cs @@ -92,7 +92,7 @@ namespace HybridCLR.Editor.BuildProcessors { var patcher = new ScriptingAssembliesJsonPatcher(); patcher.Load(file); - patcher.AddScriptingAssemblies(SettingsUtil.PatchingHotUpdateAssemblyFiles); + patcher.AddScriptingAssemblies(SettingsUtil.HotUpdateAssemblyFilesIncludePreserved); patcher.Save(file); } } @@ -123,7 +123,7 @@ namespace HybridCLR.Editor.BuildProcessors { var binFile = new UnityBinFile(); binFile.Load(binPath); - binFile.AddScriptingAssemblies(SettingsUtil.PatchingHotUpdateAssemblyFiles); + binFile.AddScriptingAssemblies(SettingsUtil.HotUpdateAssemblyFilesIncludePreserved); binFile.Save(binPath); Debug.Log($"[PatchScriptingAssemblyList] patch {binPath}"); } @@ -142,7 +142,7 @@ namespace HybridCLR.Editor.BuildProcessors foreach (string binPath in binFiles) { var patcher = new Dataunity3dPatcher(); - patcher.ApplyPatch(binPath, SettingsUtil.PatchingHotUpdateAssemblyFiles); + patcher.ApplyPatch(binPath, SettingsUtil.HotUpdateAssemblyFilesIncludePreserved); Debug.Log($"[PatchScriptingAssemblyList] patch {binPath}"); } return true; diff --git a/Editor/Commands/AOTReferenceGeneratorCommand.cs b/Editor/Commands/AOTReferenceGeneratorCommand.cs index 11e10ad..032d1c9 100644 --- a/Editor/Commands/AOTReferenceGeneratorCommand.cs +++ b/Editor/Commands/AOTReferenceGeneratorCommand.cs @@ -24,7 +24,7 @@ namespace HybridCLR.Editor.Commands public static void GenerateAOTGenericReference(BuildTarget target) { var gs = SettingsUtil.HybridCLRSettings; - List hotUpdateDllNames = SettingsUtil.HotUpdateAssemblyNames; + List hotUpdateDllNames = SettingsUtil.HotUpdateAssemblyNamesExcludePreserved; using (AssemblyReferenceDeepCollector collector = new AssemblyReferenceDeepCollector(MetaUtil.CreateHotUpdateAndAOTAssemblyResolver(target, hotUpdateDllNames), hotUpdateDllNames)) { diff --git a/Editor/Commands/Il2CppDefGeneratorCommand.cs b/Editor/Commands/Il2CppDefGeneratorCommand.cs index 3030686..a5bcbbc 100644 --- a/Editor/Commands/Il2CppDefGeneratorCommand.cs +++ b/Editor/Commands/Il2CppDefGeneratorCommand.cs @@ -18,7 +18,7 @@ namespace HybridCLR.Editor.Commands var options = new Il2CppDef.Il2CppDefGenerator.Options() { UnityVersion = Application.unityVersion, - HotUpdateAssemblies = SettingsUtil.HotUpdateAssemblyNames, + HotUpdateAssemblies = SettingsUtil.HotUpdateAssemblyNamesIncludePreserved, OutputFile = $"{SettingsUtil.LocalIl2CppDir}/libil2cpp/il2cpp-config.h", OutputFile2 = $"{SettingsUtil.LocalIl2CppDir}/libil2cpp/hybridclr/Il2CppCompatibleDef.cpp", }; diff --git a/Editor/Commands/LinkGeneratorCommand.cs b/Editor/Commands/LinkGeneratorCommand.cs index 68217ea..bffb22e 100644 --- a/Editor/Commands/LinkGeneratorCommand.cs +++ b/Editor/Commands/LinkGeneratorCommand.cs @@ -24,7 +24,7 @@ namespace HybridCLR.Editor.Commands { var ls = SettingsUtil.HybridCLRSettings; - List hotfixAssemblies = SettingsUtil.HotUpdateAssemblyNames; + List hotfixAssemblies = SettingsUtil.HotUpdateAssemblyNamesExcludePreserved; var analyzer = new Analyzer(MetaUtil.CreateHotUpdateAndAOTAssemblyResolver(target, hotfixAssemblies), HybridCLRSettings.Instance.collectAssetReferenceTypes); var refTypes = analyzer.CollectRefs(hotfixAssemblies); diff --git a/Editor/Commands/MethodBridgeGeneratorCommand.cs b/Editor/Commands/MethodBridgeGeneratorCommand.cs index e0c7447..923892b 100644 --- a/Editor/Commands/MethodBridgeGeneratorCommand.cs +++ b/Editor/Commands/MethodBridgeGeneratorCommand.cs @@ -54,7 +54,7 @@ namespace HybridCLR.Editor.Commands public static void GenerateMethodBridge(BuildTarget target) { - List hotUpdateDllNames = SettingsUtil.HotUpdateAssemblyNames; + List hotUpdateDllNames = SettingsUtil.HotUpdateAssemblyNamesExcludePreserved; using (AssemblyReferenceDeepCollector collector = new AssemblyReferenceDeepCollector(MetaUtil.CreateHotUpdateAndAOTAssemblyResolver(target, hotUpdateDllNames), hotUpdateDllNames)) { var analyzer = new Analyzer(new Analyzer.Options diff --git a/Editor/Commands/ReversePInvokeWrapperGeneratorCommand.cs b/Editor/Commands/ReversePInvokeWrapperGeneratorCommand.cs index 4f097ef..d4653f6 100644 --- a/Editor/Commands/ReversePInvokeWrapperGeneratorCommand.cs +++ b/Editor/Commands/ReversePInvokeWrapperGeneratorCommand.cs @@ -29,7 +29,7 @@ namespace HybridCLR.Editor.Commands public static void GenerateReversePInvokeWrapper(BuildTarget target) { - List hotUpdateDlls = SettingsUtil.HotUpdateAssemblyNames; + List hotUpdateDlls = SettingsUtil.HotUpdateAssemblyNamesExcludePreserved; using (var cache = new AssemblyCache(MetaUtil.CreateHotUpdateAndAOTAssemblyResolver(target, hotUpdateDlls))) { var analyzer = new ReversePInvokeWrap.Analyzer(cache, hotUpdateDlls); diff --git a/Editor/SettingsUtil.cs b/Editor/SettingsUtil.cs index 84d544e..7a096f5 100644 --- a/Editor/SettingsUtil.cs +++ b/Editor/SettingsUtil.cs @@ -65,9 +65,9 @@ namespace HybridCLR.Editor } /// - /// 所有热更新dll列表。放到此列表中的dll在打包时OnFilterAssemblies回调中被过滤。 + /// 热更新dll列表。不包含 preserveHotUpdateAssemblies。 /// - public static List HotUpdateAssemblyNames + public static List HotUpdateAssemblyNamesExcludePreserved { get { @@ -84,31 +84,35 @@ namespace HybridCLR.Editor } } - public static List HotUpdateAssemblyFiles => HotUpdateAssemblyNames.Select(dll => dll + ".dll").ToList(); + public static List HotUpdateAssemblyFilesExcludePreserved => HotUpdateAssemblyNamesExcludePreserved.Select(dll => dll + ".dll").ToList(); - public static List PatchingHotUpdateAssemblyFiles + + public static List HotUpdateAssemblyNamesIncludePreserved { get { - List patchingList = HotUpdateAssemblyFiles; + List allAsses = HotUpdateAssemblyNamesExcludePreserved; string[] preserveAssemblyNames = HybridCLRSettings.Instance.preserveHotUpdateAssemblies; if (preserveAssemblyNames != null && preserveAssemblyNames.Length > 0) { - foreach(var assemblyName in preserveAssemblyNames) + foreach (var assemblyName in preserveAssemblyNames) { - string dllFileName = assemblyName + ".dll"; - if (patchingList.Contains(dllFileName)) + if (allAsses.Contains(assemblyName)) { - throw new Exception($"[PatchingHotUpdateAssemblyFiles] assembly:'{assemblyName}' 重复"); + throw new Exception($"[HotUpdateAssemblyNamesIncludePreserved] assembly:'{assemblyName}' 重复"); } - patchingList.Add(dllFileName); + allAsses.Add(assemblyName); } } - return patchingList; + return allAsses; } } + public static List HotUpdateAssemblyFilesIncludePreserved => HotUpdateAssemblyNamesIncludePreserved.Select(ass => ass + ".dll").ToList(); + + public static List AOTAssemblyNames => HybridCLRSettings.Instance.patchAOTAssemblies.ToList(); + public static HybridCLRSettings HybridCLRSettings => HybridCLRSettings.Instance; } } diff --git a/package.json b/package.json index 5a206ea..f4bb106 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.focus-creative-games.hybridclr_unity", - "version": "1.1.17", + "version": "1.1.18", "displayName": "HybridCLR", "description": "Unity package for HybridCLR. It includes editor and runtime scripts and assets for HybridCLR", "category": "Runtime",