public void Run() { var build = new BuildExecution(); build.Targets = _targetManager .GetBuildChain(TargetsToRun) .Select(x => new TargetExecution(build, x)) .ToList(); using (_tracer.StartBuild(build)) { foreach (var target in build.Targets) { Run((TargetExecution)target); if (target.Status == TargetExecutionStatus.Failed) { break; } } } }
public TargetExecution(BuildExecution build, ITarget target) { Build = build; Duration = TimeSpan.Zero; Target = target; }