summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2016-02-28 13:39:25 +0800
committerruki <[email protected]>2016-02-28 13:39:25 +0800
commit9212146ac3d022a54f659d87fb0ecd7a7db2bee4 (patch)
treebd2e002cb190f26a73b39e413882bda3ce42da05
parent95688f56b65704f3c7b3afa92642af0b80c554a3 (diff)
add task script interfaces
-rw-r--r--xmake/core/base/task.lua6
-rwxr-xr-xxmake/core/tasks/config.lua28
2 files changed, 34 insertions, 0 deletions
diff --git a/xmake/core/base/task.lua b/xmake/core/base/task.lua
index 9225fa7a8..3c29a13fd 100644
--- a/xmake/core/base/task.lua
+++ b/xmake/core/base/task.lua
@@ -65,6 +65,12 @@ function task._interpreter()
-- register api: set_task_menu()
interp:api_register_set_values("task", "task", "menu")
+ -- register api: on_task_run(), on_task_before(), on_task_after(), on_task_failure()
+ interp:api_register_on_script("task", "task", "run"
+ , "after"
+ , "before"
+ , "failure")
+
-- set filter
interp:filter_set(filter.init(function (variable)
diff --git a/xmake/core/tasks/config.lua b/xmake/core/tasks/config.lua
index 6cfc587f3..c53d4b61d 100755
--- a/xmake/core/tasks/config.lua
+++ b/xmake/core/tasks/config.lua
@@ -26,6 +26,34 @@ task("config")
-- set category
set_task_category("action")
+ -- on before
+ on_task_before(function ()
+
+ print("before")
+
+ end)
+
+ -- on run
+ on_task_run(function ()
+
+ print("run")
+
+ end)
+
+ -- on after
+ on_task_after(function ()
+
+ print("after")
+
+ end)
+
+ -- on failure
+ on_task_failure(function ()
+
+ print("failure")
+
+ end)
+
-- set menu
set_task_menu({
-- usage