public Task Save(string filePath) { return(Task.Run(() => { var eventsSource = new BuildOutputEventsSource(); var logger = new BinaryLogger { CollectProjectImports = BinaryLogger.ProjectImportsCollectionMode.None, Parameters = filePath, Verbosity = LoggerVerbosity.Diagnostic }; try { logger.Initialize(eventsSource); foreach (var proj in projects) { switch (proj) { case MSBuildOutputProcessor msbop: eventsSource.ProcessFile(proj.FileName); break; case BuildOutputProcessor bop: // FIXME break; default: continue; } } } catch (Exception ex) { LoggingService.LogError($"Can't write to {filePath}: {ex.Message})"); } finally { logger.Shutdown(); } })); }
public EventWrapper(BinaryLogger binaryLogger) { BinaryLogger = binaryLogger; BinaryLogger.Initialize(this); }
public override void Initialize(IEventSource eventSource) { eventSource.ProjectStarted += ProjectStarted; eventSource.ProjectFinished += ProjectFinished; _binaryLogger.Initialize(eventSource); }