private void ShowPerfSummary() { _hierarchicalMessageWriter.StartBlock("Performance Summary"); if (_context.ProjectPerformanceCounters != null) { _logWriter.SetColor(Color.PerformanceHeader); _messageWriter.WriteNewLine(); _messageWriter.WriteLinePrettyFromResource("ProjectPerformanceSummary"); _logWriter.SetColor(Color.SummaryInfo); _messageWriter.DisplayCounters(_context.ProjectPerformanceCounters); } if (_context.TargetPerformanceCounters != null) { _logWriter.SetColor(Color.PerformanceHeader); _messageWriter.WriteNewLine(); _messageWriter.WriteLinePrettyFromResource("TargetPerformanceSummary"); _logWriter.SetColor(Color.SummaryInfo); _messageWriter.DisplayCounters(_context.TargetPerformanceCounters); } if (_context.TaskPerformanceCounters != null) { _logWriter.SetColor(Color.PerformanceHeader); _messageWriter.WriteNewLine(); _messageWriter.WriteLinePrettyFromResource("TaskPerformanceSummary"); _logWriter.SetColor(Color.SummaryInfo); _messageWriter.DisplayCounters(_context.TaskPerformanceCounters); } _hierarchicalMessageWriter.FinishBlock(); _logWriter.ResetColor(); }
private void OutputEnvironment(IDictionary <string, string> environment) { if (environment == null) { throw new ArgumentNullException(nameof(environment)); } _logWriter.SetColor(Color.SummaryHeader); _hierarchicalMessageWriter.StartBlock("Environment"); _messageWriter.WriteMessageAligned(_stringService.FormatResourceString("EnvironmentHeader"), true); foreach (var keyValuePair in environment) { _logWriter.SetColor(Color.SummaryInfo); _messageWriter.WriteMessageAligned(string.Format(CultureInfo.CurrentCulture, "{0} = {1}", keyValuePair.Key, keyValuePair.Value), false); } _hierarchicalMessageWriter.FinishBlock(); _logWriter.ResetColor(); }
public void DisplayDeferredProjectStartedEvent(BuildEventContext e) { if (_context.Parameters.ShowOnlyErrors || _context.Parameters.ShowOnlyWarnings || _context.SkipProjectStartedText) { return; } var projectStartedEvent = _buildEventManager.GetProjectStartedEvent(e); if (projectStartedEvent == null || projectStartedEvent.ShowProjectFinishedEvent) { return; } projectStartedEvent.ShowProjectFinishedEvent = true; var parentProjectStartedEvent = projectStartedEvent.ParentProjectStartedEvent; if (parentProjectStartedEvent != null) { DisplayDeferredStartedEvents(parentProjectStartedEvent.ProjectBuildEventContext); } var projectFile = projectStartedEvent.ProjectFile ?? string.Empty; var parentProjectFile = parentProjectStartedEvent?.ProjectFile; var targetNames = projectStartedEvent.TargetNames; var nodeId = projectStartedEvent.ProjectBuildEventContext.NodeId; var shortProjectFile = _pathService.GetFileName(projectFile); if (parentProjectFile == null) { string message; string shortName; if (string.IsNullOrEmpty(targetNames)) { message = _stringService.FormatResourceString("ProjectStartedTopLevelProjectWithDefaultTargets", projectFile, nodeId); shortName = $"Project \"{shortProjectFile}\""; } else { message = _stringService.FormatResourceString("ProjectStartedTopLevelProjectWithTargetNames", projectFile, nodeId, targetNames); shortName = $"Project \"{shortProjectFile}\": {targetNames}"; } _hierarchicalMessageWriter.StartBlock(shortName); _messageWriter.WriteLinePrefix(projectStartedEvent.FullProjectKey, projectStartedEvent.TimeStamp, false); _logWriter.SetColor(Color.BuildStage); _messageWriter.WriteMessageAligned(message, true); _logWriter.ResetColor(); } else { if (string.IsNullOrEmpty(targetNames)) { var shortName = $"Project \"{shortProjectFile}\""; _hierarchicalMessageWriter.StartBlock(shortName); _messageWriter.WriteLinePrefix(parentProjectStartedEvent.FullProjectKey, parentProjectStartedEvent.TimeStamp, false); _logWriter.SetColor(Color.BuildStage); _messageWriter.WriteMessageAligned(_stringService.FormatResourceString("ProjectStartedWithDefaultTargetsMultiProc", parentProjectFile, parentProjectStartedEvent.FullProjectKey, projectFile, projectStartedEvent.FullProjectKey, nodeId), true); } else { var shortName = $"Project \"{shortProjectFile}\": {targetNames}"; _hierarchicalMessageWriter.StartBlock(shortName); _messageWriter.WriteLinePrefix(parentProjectStartedEvent.FullProjectKey, parentProjectStartedEvent.TimeStamp, false); _logWriter.SetColor(Color.BuildStage); _messageWriter.WriteMessageAligned(_stringService.FormatResourceString("ProjectStartedWithTargetsMultiProc", parentProjectFile, parentProjectStartedEvent.FullProjectKey, projectFile, projectStartedEvent.FullProjectKey, nodeId, targetNames), true); } _logWriter.ResetColor(); } ShownBuildEventContext(null); }