コード例 #1
0
        /// <summary>Выполняет задания, назначенные в указанном проекте</summary>
        /// <param name="Project">Проект для обработки</param>
        public void Process(GenerationProject Project)
        {
            var injectionsManager = new InjectionsManager();
            var extensionsManager = new ReflectingExtensionsManager();

            foreach (GenerationTask task in Project.Tasks)
            {
                var             propertiesResolverFactory = new PropertiesResolverFactory(task.Globals);
                IActionsManager actionsManager            = new ProjectActionsManager(Project.Actions, injectionsManager,
                                                                                      new TemplateProcessor(propertiesResolverFactory,
                                                                                                            extensionsManager));

                foreach (GenerationActionCalling actionCalling in task.CallingActions)
                {
                    actionsManager.ExecuteAction(actionCalling.ActionName, actionCalling.TargetFileName, task.Items);
                }
            }

            injectionsManager.Apply();
        }
コード例 #2
0
 public TemplateProcessor(PropertiesResolverFactory PropertiesResolverFactory, IExtensionsManager Extensions)
 {
     _propertiesResolver = PropertiesResolverFactory.GetPropertiesResolver(this);
     _extensions         = Extensions;
 }