[gnome-ostree] task: Make TaskAfter work again
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-ostree] task: Make TaskAfter work again
- Date: Sun, 16 Jun 2013 21:33:02 +0000 (UTC)
commit ffcfe0455c3faafa98312ec3be8539c2bf27f736
Author: Colin Walters <walters verbum org>
Date: Sun Jun 16 17:32:35 2013 -0400
task: Make TaskAfter work again
src/js/task.js | 27 +++++++++++++++++++++++----
1 files changed, 23 insertions(+), 4 deletions(-)
---
diff --git a/src/js/task.js b/src/js/task.js
index bf2f331..d64d3c6 100644
--- a/src/js/task.js
+++ b/src/js/task.js
@@ -90,6 +90,23 @@ const TaskSet = new Lang.Class({
if (!_tasksetInstance)
_tasksetInstance = new TaskSet();
return _tasksetInstance;
+ },
+
+ getTasksAfter: function(taskName) {
+ let ret = [];
+ for (let i = 0; i < this._tasks.length; i++) {
+ let taskConstructor = this._tasks[i];
+ let taskDef = Params.parse(taskConstructor.prototype.TaskDef, DefaultTaskDef);
+ let after = taskDef.TaskAfter;
+ for (let j = 0; j < after.length; j++) {
+ let a = after[j];
+ if (a == taskName) {
+ ret.push(taskDef.TaskName);
+ break;
+ }
+ }
+ }
+ return ret;
}
});
@@ -263,11 +280,13 @@ const TaskMaster = new Lang.Class({
this.emit('task-complete', runner, success, error);
if (success && this._processAfter) {
if (runner.changed) {
+ let taskName = runner.taskData.name;
let taskDef = runner.taskData.taskDef;
- for (let i = 0; i < taskDef.TasksAfter.length; i++) {
- let taskName = taskDef.TasksAfter[i];
- if (!this._skipTasks[taskName])
- this.pushTaskDef(taskName, {});
+ let after = this._taskset.getTasksAfter(taskName);
+ for (let i = 0; i < after.length; i++) {
+ let afterTaskName = after[i];
+ if (!this._skipTasks[afterTaskName])
+ this.pushTask(afterTaskName, {});
}
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]