summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2021-09-17 22:59:27 +0800
committerruki <[email protected]>2021-09-17 22:59:27 +0800
commit4f2a99c4954906721bee469a5a36e448752f4cc6 (patch)
treebf3674cfe050c5b1cb029ca54a5429894d4ca13a
parent2d39ad73d84268bcae06847ea822df2339f1054f (diff)
add deprecated before_load in rule
-rw-r--r--xmake/core/project/project.lua6
-rw-r--r--xmake/core/project/rule.lua1
-rw-r--r--xmake/core/project/target.lua15
3 files changed, 22 insertions, 0 deletions
diff --git a/xmake/core/project/project.lua b/xmake/core/project/project.lua
index 411845056..f832305ca 100644
--- a/xmake/core/project/project.lua
+++ b/xmake/core/project/project.lua
@@ -431,6 +431,12 @@ function project._load_targets()
end
end
+ -- @note it's deprecated, please use on_load instead of before_load
+ ok, errors = t:_load_before()
+ if not ok then
+ return nil, nil, errors
+ end
+
-- we need call on_load() before building deps/rules,
-- so we can use `target:add("deps", "xxx")` to add deps in on_load
ok, errors = t:_load()
diff --git a/xmake/core/project/rule.lua b/xmake/core/project/rule.lua
index 534bb5f8a..c155a813f 100644
--- a/xmake/core/project/rule.lua
+++ b/xmake/core/project/rule.lua
@@ -180,6 +180,7 @@ function rule.apis()
, "rule.on_buildcmd_files"
-- rule.before_xxx
, "rule.before_run"
+ , "rule.before_load"
, "rule.before_link"
, "rule.before_build"
, "rule.before_build_file"
diff --git a/xmake/core/project/target.lua b/xmake/core/project/target.lua
index 7b0ce47d9..5cb7d32b9 100644
--- a/xmake/core/project/target.lua
+++ b/xmake/core/project/target.lua
@@ -82,6 +82,11 @@ function _instance:_load_rule(ruleinst, suffix)
else
cache[key] = {true}
end
+
+ -- before_load has been deprecated
+ if on_load and suffix == "before" then
+ deprecated.add(ruleinst:name() .. ".on_load", ruleinst:name() .. ".before_load")
+ end
end
-- save cache
@@ -128,6 +133,16 @@ function _instance:_load()
return true
end
+-- do before_load for rules
+-- @note it's deprecated, please use on_load instead of before_load
+function _instance:_load_before()
+ local ok, errors = self:_load_rules("before")
+ if not ok then
+ return false, errors
+ end
+ return true
+end
+
-- do after_load target and rules
function _instance:_load_after()