コード例 #1
0
 public void RegisterDependency(TaskDependency dep) {
     if (dep.CleanAfterBuild) {
         MaybeToBeCleaned.Add(dep.Task);
     } else {
         NotToBeCleaned.Add(dep.Task);
     }
 }
コード例 #2
0
 public void RegisterDependency(TaskDependency dep)
 {
     if (dep.CleanAfterBuild) {
         MaybeToBeCleaned.Add(dep.Task);
     } else {
         NotToBeCleaned.Add(dep.Task);
     }
 }
コード例 #3
0
        public void After(TaskDependency dep)
        {
            T agg = Stack.Pop();

            agg.Finally();

            if (Stack.Count > 0)
            {
                var taskAggregate = Stack.Peek();
                taskAggregate.Add(agg);
            }
            else
            {
                Aggregate = agg;
            }
        }
コード例 #4
0
        public void Walk(TaskDependency dep, Action <TaskDependency> beforeDependencies, Action <TaskDependency> afterDependencies, HashSet <IObsoleteTask> tasksAlreadyDone)
        {
            if (tasksAlreadyDone.Contains(dep.Task))
            {
                return;
            }

            tasksAlreadyDone.Add(dep.Task);

            if (beforeDependencies != null)
            {
                beforeDependencies(dep);
            }

            foreach (TaskDependency dependency in GetNonNullDependencies(dep.Task))
            {
                Walk(dependency, beforeDependencies, afterDependencies, tasksAlreadyDone);
            }

            if (afterDependencies != null)
            {
                afterDependencies(dep);
            }
        }
コード例 #5
0
 private void CleanIfNotAlreadyCleaned(TaskDependency dep, IBounceCommand command)
 {
     OnceOnlyCleaner.EnsureInvokedAtLeastOnce(dep.Task, command);
 }
コード例 #6
0
 private void BuildIfNotAlreadyBuilt(TaskDependency dep, IBounceCommand command)
 {
     OnceOnlyBuilder.EnsureInvokedAtLeastOnce(dep.Task, command);
 }
コード例 #7
0
 private void DescribeIfNotDescribed(TaskDependency dep, IBounceCommand command)
 {
     OnceOnlyDescriber.EnsureInvokedAtLeastOnce(dep.Task, command);
 }
コード例 #8
0
ファイル: TargetInvoker.cs プロジェクト: nbucket/bounce
 private void DescribeIfNotDescribed(TaskDependency dep, IBounceCommand command)
 {
     OnceOnlyDescriber.EnsureInvokedAtLeastOnce(dep.Task, command);
 }
コード例 #9
0
ファイル: TargetInvoker.cs プロジェクト: nbucket/bounce
 private void CleanIfNotAlreadyCleaned(TaskDependency dep, IBounceCommand command)
 {
     OnceOnlyCleaner.EnsureInvokedAtLeastOnce(dep.Task, command);
 }
コード例 #10
0
ファイル: TargetInvoker.cs プロジェクト: nbucket/bounce
 private void BuildIfNotAlreadyBuilt(TaskDependency dep, IBounceCommand command)
 {
     OnceOnlyBuilder.EnsureInvokedAtLeastOnce(dep.Task, command);
 }
コード例 #11
0
 public TaskPurity(TaskDependency dep)
 {
     Purity = dep.Task.IsPure;
 }
コード例 #12
0
 public void Before(TaskDependency dep)
 {
     Stack.Push(CreateAggregate(dep));
 }
コード例 #13
0
 public void Walk(TaskDependency task, Action <TaskDependency> beforeDependencies, Action <TaskDependency> afterDependencies)
 {
     Walk(task, beforeDependencies, afterDependencies, new HashSet <IObsoleteTask>());
 }