41 lines
1.2 KiB
C#
41 lines
1.2 KiB
C#
|
using System;
|
|||
|
|
|||
|
namespace Microsoft.DotNet.Cli.Build.Framework
|
|||
|
{
|
|||
|
public class BuildTargetResult
|
|||
|
{
|
|||
|
public BuildTarget Target { get; }
|
|||
|
public bool Success { get; }
|
|||
|
public string ErrorMessage { get; }
|
|||
|
public Exception Exception { get; }
|
|||
|
|
|||
|
public BuildTargetResult(BuildTarget target, bool success) : this(target, success, errorMessage: string.Empty) { }
|
|||
|
|
|||
|
public BuildTargetResult(BuildTarget target, bool success, Exception exception) : this(target, success, exception.ToString())
|
|||
|
{
|
|||
|
Exception = exception;
|
|||
|
}
|
|||
|
|
|||
|
public BuildTargetResult(BuildTarget target, bool success, string errorMessage)
|
|||
|
{
|
|||
|
Target = target;
|
|||
|
Success = success;
|
|||
|
ErrorMessage = errorMessage;
|
|||
|
}
|
|||
|
|
|||
|
public void EnsureSuccessful()
|
|||
|
{
|
|||
|
if(!Success)
|
|||
|
{
|
|||
|
if(string.IsNullOrEmpty(ErrorMessage))
|
|||
|
{
|
|||
|
throw new BuildFailureException(Target, Exception);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
throw new BuildFailureException(ErrorMessage, Exception, Target);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|