internal static string[] GetPrecompiledAssemblyPaths(PrecompiledAssemblySources precompiledAssemblySources, PrecompiledAssemblyProviderBase precompiledAssemblyProvider, BuildTargetGroup buildTargetGroup, BuildTarget buildTarget) { HashSet <string> assemblyNames = new HashSet <string>(); sc.AssemblyFlags flags = sc.AssemblyFlags.None; if ((precompiledAssemblySources & PrecompiledAssemblySources.SystemAssembly) != 0) { foreach (var a in MonoLibraryHelpers.GetSystemLibraryReferences(ApiCompatibilityLevel.NET_Unity_4_8)) { assemblyNames.Add(a); } } if ((precompiledAssemblySources & (PrecompiledAssemblySources.UnityEngine | precompiledAssemblySources & PrecompiledAssemblySources.UnityAssembly)) != 0) { flags |= sc.AssemblyFlags.UnityModule; } if ((precompiledAssemblySources & (PrecompiledAssemblySources.UnityEditor | precompiledAssemblySources & PrecompiledAssemblySources.UnityAssembly)) != 0) { flags |= sc.AssemblyFlags.EditorOnly; } if ((precompiledAssemblySources & PrecompiledAssemblySources.UserAssembly) != 0) { flags |= sc.AssemblyFlags.UserAssembly; } var precompiledAssemblies = precompiledAssemblyProvider.GetPrecompiledAssemblies( EditorScriptCompilationOptions.BuildingForEditor | EditorScriptCompilationOptions.BuildingWithAsserts, buildTargetGroup, buildTarget) .Concat(precompiledAssemblyProvider.GetUnityAssemblies(true, buildTarget)); foreach (var a in precompiledAssemblies.Where(x => (x.Flags & flags) != 0)) { assemblyNames.Add(a.Path); } return(assemblyNames.ToArray()); }
internal static string[] GetPrecompiledAssemblyPaths(EditorCompilation editorCompilation, PrecompiledAssemblySources precompiledAssemblySources) { HashSet <string> assemblyNames = new HashSet <string>(); sc.AssemblyFlags flags = sc.AssemblyFlags.None; if ((precompiledAssemblySources & PrecompiledAssemblySources.SystemAssembly) != 0) { var apiCompat = (EditorApplication.scriptingRuntimeVersion == ScriptingRuntimeVersion.Latest) ? ApiCompatibilityLevel.NET_4_6 : ApiCompatibilityLevel.NET_2_0; foreach (var a in MonoLibraryHelpers.GetSystemLibraryReferences(apiCompat, Scripting.ScriptCompilers.CSharpSupportedLanguage)) { assemblyNames.Add(a); } } if ((precompiledAssemblySources & PrecompiledAssemblySources.UnityEngine) != 0) { flags |= sc.AssemblyFlags.UnityModule; } if ((precompiledAssemblySources & PrecompiledAssemblySources.UnityEditor) != 0) { flags |= sc.AssemblyFlags.EditorOnly; } if ((precompiledAssemblySources & PrecompiledAssemblySources.UserAssembly) != 0) { flags |= sc.AssemblyFlags.UserAssembly; } var precompiledAssemblies = editorCompilation.GetAllPrecompiledAssemblies().Concat(EditorCompilationInterface.Instance.GetUnityAssemblies()); foreach (var a in precompiledAssemblies.Where(x => (x.Flags & flags) != 0)) { assemblyNames.Add(a.Path); } return(assemblyNames.ToArray()); }
internal static string[] GetPrecompiledAssemblyPaths(PrecompiledAssemblySources precompiledAssemblySources, IPrecompiledAssemblyProvider precompiledAssemblyProvider) { HashSet <string> assemblyNames = new HashSet <string>(); sc.AssemblyFlags flags = sc.AssemblyFlags.None; if ((precompiledAssemblySources & PrecompiledAssemblySources.SystemAssembly) != 0) { foreach (var a in MonoLibraryHelpers.GetSystemLibraryReferences(ApiCompatibilityLevel.NET_4_6, Scripting.ScriptCompilers.CSharpSupportedLanguage)) { assemblyNames.Add(a); } } if ((precompiledAssemblySources & PrecompiledAssemblySources.UnityEngine) != 0) { flags |= sc.AssemblyFlags.UnityModule; } if ((precompiledAssemblySources & PrecompiledAssemblySources.UnityEditor) != 0) { flags |= sc.AssemblyFlags.EditorOnly; } if ((precompiledAssemblySources & PrecompiledAssemblySources.UserAssembly) != 0) { flags |= sc.AssemblyFlags.UserAssembly; } var precompiledAssemblies = precompiledAssemblyProvider.GetPrecompiledAssemblies(true, EditorUserBuildSettings.activeBuildTargetGroup, EditorUserBuildSettings.activeBuildTarget).Concat(EditorCompilationInterface.Instance.GetUnityAssemblies()); foreach (var a in precompiledAssemblies.Where(x => (x.Flags & flags) != 0)) { assemblyNames.Add(a.Path); } return(assemblyNames.ToArray()); }