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