internal static void StripAssemblies(string managedAssemblyFolderPath, BaseUnityLinkerPlatformProvider unityLinkerPlatformProvider, IIl2CppPlatformProvider il2cppPlatformProvider, RuntimeClassRegistry rcr, ManagedStrippingLevel managedStrippingLevel) { var runInformation = new UnityLinkerRunInformation(managedAssemblyFolderPath, unityLinkerPlatformProvider, il2cppPlatformProvider.target, rcr, managedStrippingLevel, il2cppPlatformProvider); RunAssemblyStripper(runInformation); }
public UnityLinkerRunInformation(string managedAssemblyFolderPath, BaseUnityLinkerPlatformProvider platformProvider, BuildTarget buildTarget, RuntimeClassRegistry rcr, ManagedStrippingLevel managedStrippingLevel, IIl2CppPlatformProvider il2CppPlatformProvider) { this.managedAssemblyFolderPath = managedAssemblyFolderPath; target = buildTarget; this.platformProvider = platformProvider; this.rcr = rcr; this.managedStrippingLevel = managedStrippingLevel; this.il2CppPlatformProvider = il2CppPlatformProvider; pipelineData = new UnityLinkerBuildPipelineData(target, managedAssemblyFolderPath); buildTargetGroup = BuildPipeline.GetBuildTargetGroup(buildTarget); argumentProvider = new UnityLinkerArgumentValueProvider(this); isMonoBackend = PlayerSettings.GetScriptingBackend(buildTargetGroup) == ScriptingImplementation.Mono2x; engineStrippingSupported = platformProvider.supportsEngineStripping && !isMonoBackend; performEngineStripping = rcr != null && PlayerSettings.stripEngineCode && engineStrippingSupported; }