public BuildMessageMessageUpdater()

in TeamCity.MSBuild.Logger/BuildMessageMessageUpdater.cs [11:55]


        public BuildMessageMessageUpdater(IEventContext eventContext) => 
            _eventContext = eventContext;

        public IServiceMessage UpdateServiceMessage(IServiceMessage message)
        {
            if (_eventContext.TryGetEvent(out var buildEventManager)
                && buildEventManager is BuildMessageEventArgs msg)
            {
                var newMessage = new PatchedServiceMessage(message);
                if (!string.IsNullOrWhiteSpace(msg.Code))
                {
                    newMessage.Add("code", msg.Code);
                }
                
                if (!string.IsNullOrWhiteSpace(msg.File))
                {
                    newMessage.Add("file", msg.File);
                }
                
                if (!string.IsNullOrWhiteSpace(msg.Subcategory))
                {
                    newMessage.Add("subcategory", msg.Subcategory);
                }
                
                if (!string.IsNullOrWhiteSpace(msg.ProjectFile))
                {
                    newMessage.Add("projectFile", msg.ProjectFile);
                }
                
                if (!string.IsNullOrWhiteSpace(msg.SenderName))
                {
                    newMessage.Add("senderName", msg.SenderName);
                }
                
                newMessage.Add("columnNumber", msg.ColumnNumber.ToString());
                newMessage.Add("endColumnNumber", msg.EndColumnNumber.ToString());
                newMessage.Add("lineNumber", msg.LineNumber.ToString());
                newMessage.Add("endLineNumber", msg.EndLineNumber.ToString());
                newMessage.Add("importance", msg.Importance.ToString());

                return newMessage;
            }

            return message;
        }