コード例 #1
0
        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;
        }
コード例 #2
0
 public void Add(ProcessRequest request)
 {
     que.TryAdd(request);
 }