private static void WeaveAssemblyCore(string assemblyPath, IEnumerable <string> references) { var logger = new UnityLogger(); var name = Path.GetFileNameWithoutExtension(assemblyPath); try { var timer = new Stopwatch(); timer.Start(); var resolutionResult = WeaverAssemblyResolver.Resolve(assemblyPath, references); if (resolutionResult == null) { return; } using (resolutionResult) { // Unity doesn't add the [TargetFramework] attribute when compiling the assembly. However, it's // using NETStandard2, so we just hardcode this. var weaver = new Weaver(resolutionResult.Module, logger, new FrameworkName(".NETStandard,Version=v2.0")); var results = weaver.Execute(); // Unity creates an entry in the build console for each item, so let's not pollute it. if (results.SkipReason == null) { resolutionResult.SaveModuleUpdates(); logger.Info($"[{name}] Weaving completed in {timer.ElapsedMilliseconds} ms.{Environment.NewLine}{results}"); } } } catch (Exception ex) { logger.Warning($"[{name}] Weaving failed: {ex.StackTrace}"); } }
public void TestLog__Warning() { logger.Warning("I'm warning you"); innerLogger.Received().Log(LogType.Warning, "I'm warning you"); }