/// <nodoc/> public RushProjectSchedulingFailure(RushProject project, string failure) { Contract.RequiresNotNull(project); Contract.RequiresNotNullOrEmpty(failure); m_project = project; m_failure = failure; }
private RushGraph ResolveDependencies(GenericRushGraph <GenericRushProject <string> > flattenedRushGraph) { var resolvedProjects = new Dictionary <string, RushProject>(flattenedRushGraph.Projects.Count); // Add all unresolved projects first foreach (var flattenedProject in flattenedRushGraph.Projects) { var rushProject = RushProject.FromGenericRushProject(flattenedProject); resolvedProjects.Add(flattenedProject.Name, rushProject); } // Now resolve dependencies foreach (var flattenedProject in flattenedRushGraph.Projects) { var resolvedProject = resolvedProjects[flattenedProject.Name]; resolvedProject.SetDependencies(flattenedProject.Dependencies.Select(name => resolvedProjects[name]).ToReadOnlyArray()); } return(new RushGraph(resolvedProjects.Values)); }