private void HandleStopTarget(ITargetExecution target) { var duration = target.Duration; switch (target.Status) { case TargetExecutionStatus.Skipped: Write(ConsoleColor.Yellow, "Skipped. {0}".F(target.Message ?? "(no reason provided)")); break; case TargetExecutionStatus.Failed: var message = target.Message; if (message != null && target.Exception != null) { message += " " + target.Exception.ToString(); } else if (message == null && target.Exception != null) { message = target.Exception.ToString(); } else if (message == null) { message = "(no reason provided)"; } Write(ConsoleColor.Red, "Failed. {0}".F(message)); break; default: Write(ConsoleColor.Green, "Completed in {0}.".F(target.Duration)); break; } _currentPrefix = ""; }
public IDisposable StartTarget(ITargetExecution target) { Publish(new StartTargetEvent(target)); return(new StartStop(this, new StopTargetEvent(target))); }
public void Run(ITargetExecution target) { _wrappers.Aggregate(_action, (prev, next) => t => next(t, prev))(target); }
private void HandleStartTarget(ITargetExecution target) { _currentPrefix = "[{0}] ".F(target.Name); Write(ConsoleColor.Green, "Starting at {0:HH:mm:ss}".F(DateTime.UtcNow)); }
public StopTargetEvent(ITargetExecution target) { Target = target; }