/// <nodoc/> public ProjectGraphToPipGraphConstructor( IProjectToPipConstructor <TProject> constructor, int maxConcurrency) { Contract.Requires(constructor != null); m_pipConstructor = constructor; m_maxConcurrency = maxConcurrency; }
/// <summary> /// Tries to turn a project into a pip and add it to the pip graph /// </summary> public static Possible <ProcessOutputs> TrySchedulePipForProject <TProject>(this IProjectToPipConstructor <TProject> constructor, TProject project, QualifierId qualifierId) where TProject : IProjectWithDependencies <TProject> { return(constructor.TryCreatePipForProject(project, qualifierId).Then(creationResult => constructor.TrySchedulePipForProject(creationResult, qualifierId))); }