csharpc-sharpdotnetxamlavaloniauicross-platformcross-platform-xamlavaloniaguimulti-platformuser-interfacedotnetcore
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.2 KiB
39 lines
1.2 KiB
using Microsoft.Build.Framework;
|
|
|
|
namespace Avalonia.Build.Tasks.UnitTest;
|
|
|
|
enum MessageSource
|
|
{
|
|
Unknown,
|
|
ErrorEvent,
|
|
MessageEvent,
|
|
CustomEvent,
|
|
WarningEvent
|
|
}
|
|
|
|
record class UnitTestBuildEngineMessage
|
|
{
|
|
private UnitTestBuildEngineMessage(MessageSource Type, LazyFormattedBuildEventArgs Source)
|
|
{
|
|
this.Type = Type;
|
|
this.Source = Source;
|
|
Message = Source.Message;
|
|
}
|
|
|
|
public MessageSource Type { get; }
|
|
public LazyFormattedBuildEventArgs Source { get; }
|
|
public string Message { get; }
|
|
|
|
public static UnitTestBuildEngineMessage From(BuildWarningEventArgs buildWarning) =>
|
|
new UnitTestBuildEngineMessage(MessageSource.WarningEvent, buildWarning);
|
|
|
|
public static UnitTestBuildEngineMessage From(BuildMessageEventArgs buildMessage) =>
|
|
new UnitTestBuildEngineMessage(MessageSource.MessageEvent, buildMessage);
|
|
|
|
public static UnitTestBuildEngineMessage From(BuildErrorEventArgs buildError) =>
|
|
new UnitTestBuildEngineMessage(MessageSource.ErrorEvent, buildError);
|
|
|
|
public static UnitTestBuildEngineMessage From(CustomBuildEventArgs customBuild) =>
|
|
new UnitTestBuildEngineMessage(MessageSource.CustomEvent, customBuild);
|
|
|
|
}
|
|
|