diff options
| -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() |
