public void BuildPropagationTopology(IEnumerable <IPipelineStage> stages, long pipelineVersion) { PipelineVersionOfCurrentPropagation = pipelineVersion; CurrentPropagationTopology = Analyzer.GetTopologySorted(stages); if (CurrentPropagationTopology == null) { throw ErrorHandler.CreatePipelineCycleException(Analyzer.FindCycles(stages)); } StagesThisPropagation.Clear(); foreach (var stage in CurrentPropagationTopology.Select(s => s.Stage)) { StagesThisPropagation.Add(new AmbivalentPipelineReference(stage)); } }
public void PrepareForPotentialNewPropagation() => StagesThisPropagation.Clear();