TeamCity.MSBuild.Logger/TargetStartedEventMinimumFields.cs (39 lines of code) (raw):

namespace TeamCity.MSBuild.Logger { using System; using System.Diagnostics.CodeAnalysis; using Microsoft.Build.Framework; [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] [SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Global")] internal class TargetStartedEventMinimumFields { public DateTime TimeStamp { get; } public string TargetName { get; } public string TargetFile { get; } public string ProjectFile { get; } public string Message { get; } public bool ShowTargetFinishedEvent { get; set; } public bool ErrorInTarget { get; set; } public BuildEventContext TargetBuildEventContext { get; } public string ParentTarget { get; } public string FullTargetKey { get; } public TargetStartedEventMinimumFields( TargetStartedEventArgs startedEvent, bool requireTimeStamp) { TargetName = startedEvent.TargetName; TargetFile = startedEvent.TargetFile; ProjectFile = startedEvent.ProjectFile; ShowTargetFinishedEvent = false; ErrorInTarget = false; Message = startedEvent.Message; TargetBuildEventContext = startedEvent.BuildEventContext; if (requireTimeStamp) { TimeStamp = startedEvent.Timestamp; } ParentTarget = startedEvent.ParentTarget; FullTargetKey = $"{TargetFile}.{TargetName}"; } } }