Files
UnrealEngineUWP/Engine/Source/Programs/BuildAgent/Run/Matchers/GenericErrorMatcher.cs
Ryan Durand 9ef3748747 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536
#ROBOMERGE-BOT: FORTNITE (Main -> Dev-EngineMerge) (v613-10869866)

[CL 10870955 by Ryan Durand in Main branch]
2019-12-26 23:01:54 -05:00

51 lines
1.4 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using BuildAgent.Run;
using BuildAgent.Run.Interfaces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace BuildAgent
{
[AutoRegister]
class GenericErrorMatcher : IErrorMatcher
{
public ErrorMatch Match(ReadOnlyLineBuffer Input)
{
if (Input.IsMatch(@"^\s*FATAL:"))
{
return new ErrorMatch(ErrorSeverity.Error, ErrorPriority.Low, "Generic", Input);
}
if (Input.IsMatch(@"(?<!\w)(ERROR|[Ee]rror)( (\([^)]+\)|\[[^\]]+\]))?: "))
{
int MaxOffset = Input.MatchForwards(0, String.Format(@"^({0} | *$)", ExtractIndent(Input[0])));
return new ErrorMatch(ErrorSeverity.Error, ErrorPriority.Lowest, "Generic", Input, 0, MaxOffset);
}
if (Input.IsMatch(@"(?<!\w)(WARNING|[Ww]arning)( (\([^)]+\)|\[[^\]]+\]))?: "))
{
int MaxOffset = Input.MatchForwards(0, String.Format(@"^({0} | *$)", ExtractIndent(Input[0])));
return new ErrorMatch(ErrorSeverity.Warning, ErrorPriority.Lowest, "Generic", Input, 0, MaxOffset);
}
if (Input.IsMatch(@"[Ee]rror [A-Z]\d+\s:"))
{
return new ErrorMatch(ErrorSeverity.Error, ErrorPriority.Lowest, "Generic", Input);
}
return null;
}
static string ExtractIndent(string Line)
{
int Length = 0;
while (Length < Line.Length && Line[Length] == ' ')
{
Length++;
}
return new string(' ', Length);
}
}
}