private static ExecutionPlan BuildExecutionPlan(ProcessRequest request) { var executionPlan = new ExecutionPlan { ExecutionStages = new List<ExecutionStage>() }; foreach (var pluginConfiguration in request.Project.OutputPlugins) { var plugin = PluginLocator.Current.GetInstanceById(pluginConfiguration.PluginId); if (plugin is IOutputPlugin) { plugin.SetConfiguration(pluginConfiguration.Configuration); executionPlan.ExecutionStages.Add(new ExecutionStage(request.ProjectState.BuildState, request.ProjectState.BuildStatus, (IOutputPlugin) plugin)); } } return executionPlan; }
public void Add(ProcessRequest request) { que.TryAdd(request); }