private static void ExecuteSingleProjectPredictor( ProjectInstance projectInstance, ValueAndTypeName <IProjectPredictor> projectPredictorAndName, IProjectPredictionCollector projectPredictionCollector) { var predictionReporter = new ProjectPredictionReporter( projectPredictionCollector, projectInstance, projectPredictorAndName.TypeName); projectPredictorAndName.Value.PredictInputsAndOutputs( projectInstance, predictionReporter); }
private static void ExecuteAllPredictors( ProjectGraphNode projectGraphNode, ValueAndTypeName <IProjectPredictor>[] projectPredictors, ValueAndTypeName <IProjectGraphPredictor>[] projectGraphPredictors, IProjectPredictionCollector projectPredictionCollector) { ProjectInstance projectInstance = projectGraphNode.ProjectInstance; // Run the project predictors. Use single-threaded prediction since we're already parallelizing on projects. ProjectPredictionExecutor.ExecuteProjectPredictors(projectInstance, projectPredictors, projectPredictionCollector, maxDegreeOfParallelism: 1); // Run the graph predictors for (var i = 0; i < projectGraphPredictors.Length; i++) { var predictionReporter = new ProjectPredictionReporter( projectPredictionCollector, projectInstance, projectGraphPredictors[i].TypeName); projectGraphPredictors[i].Value.PredictInputsAndOutputs( projectGraphNode, predictionReporter); } }