diff options
| author | ruki <[email protected]> | 2021-09-17 22:59:27 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2021-09-17 22:59:27 +0800 |
| commit | 4f2a99c4954906721bee469a5a36e448752f4cc6 (patch) | |
| tree | bf3674cfe050c5b1cb029ca54a5429894d4ca13a | |
| parent | 2d39ad73d84268bcae06847ea822df2339f1054f (diff) | |
add deprecated before_load in rule
| -rw-r--r-- | xmake/core/project/project.lua | 6 | ||||
| -rw-r--r-- | xmake/core/project/rule.lua | 1 | ||||
| -rw-r--r-- | xmake/core/project/target.lua | 15 |
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() |
