コード例 #1
0
        public string AddAgregateTasks(IEnumerable <ITask> scriptTasks, TaskType.Group taskTypeGroup, string aggregateTaskName)
        {
            if (string.IsNullOrEmpty(aggregateTaskName))
            {
                return("");
            }
            var sb         = new StringBuilder();
            var addedTasks = AppendBuildTasks(sb, scriptTasks, taskTypeGroup);

            AppendAggregateTask(sb, aggregateTaskName, addedTasks);
            return(sb.ToString());
        }
コード例 #2
0
        public string GenerateParts(TaskPart taskPart, TaskType.Group taskTypeGroup)
        {
            StringBuilder sb = new StringBuilder();

            foreach (var task in ScriptTasks.Where(scriptTask => scriptTask.Type.TaskGroup == taskTypeGroup))
            {
                this.CurrentTask = task;
                var part = scriptTaskEvaluator.GeneratePart(task, taskPart, this);
                if (part != null)
                {
                    sb.AppendLine(part);
                }
            }

            return(sb.ToString());
        }
コード例 #3
0
        private List <TaskType> AppendBuildTasks(StringBuilder sb, IEnumerable <ITask> scriptTasks, TaskType.Group taskGroup)
        {
            var tasksAdded = new List <TaskType>();
            var TaskTypes  = TaskType.GetTaskTypesForGroup(taskGroup);

            foreach (var taskType in TaskTypes)
            {
                var dependencies = GetDependenciesByType(scriptTasks, taskType);
                if (dependencies.Any())
                {
                    var dependentOnList = GetDependentOnList(dependencies);
                    AppendTask(sb, taskType.TaskName, dependentOnList);
                    tasksAdded.Add(taskType);
                }
            }
            return(tasksAdded);
        }
コード例 #4
0
 public string AddAgregateTasks(string aggregateTaskName, TaskType.Group taskTypeGroup)
 {
     return(cakeBuildTasksProvider.AddAgregateTasks(ScriptTasks, taskTypeGroup, aggregateTaskName));
 }