in TeamCity.MSBuild.Logger/BuildErrorMessageUpdater.cs [11:53]
public BuildErrorMessageUpdater(IEventContext eventContext) =>
_eventContext = eventContext;
public IServiceMessage UpdateServiceMessage(IServiceMessage message)
{
if (_eventContext.TryGetEvent(out var buildEventManager)
&& buildEventManager is BuildErrorEventArgs error)
{
var newMessage = new PatchedServiceMessage(message);
if (!string.IsNullOrWhiteSpace(error.Code))
{
newMessage.Add("code", error.Code);
}
if (!string.IsNullOrWhiteSpace(error.File))
{
newMessage.Add("file", error.File);
}
if (!string.IsNullOrWhiteSpace(error.Subcategory))
{
newMessage.Add("subcategory", error.Subcategory);
}
if (!string.IsNullOrWhiteSpace(error.ProjectFile))
{
newMessage.Add("projectFile", error.ProjectFile);
}
if (!string.IsNullOrWhiteSpace(error.SenderName))
{
newMessage.Add("senderName", error.SenderName);
}
newMessage.Add("columnNumber", error.ColumnNumber.ToString());
newMessage.Add("endColumnNumber", error.EndColumnNumber.ToString());
newMessage.Add("lineNumber", error.LineNumber.ToString());
newMessage.Add("endLineNumber", error.EndLineNumber.ToString());
return newMessage;
}
return message;
}