diff options
| author | ruki <[email protected]> | 2022-12-30 23:40:14 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2022-12-30 16:01:59 +0800 |
| commit | d1ef852ee0c6aeebac5ed7456f19f6793f00254d (patch) | |
| tree | 3eae31d78c1a08ea006ec6ac94bfc25975be8f6b /xmake/modules/private/action/require/impl/package.lua | |
| parent | 784ffcfa42c47554cc469f9a007eb39cd92e8f2d (diff) | |
improve to check circular deps
Diffstat (limited to 'xmake/modules/private/action/require/impl/package.lua')
| -rw-r--r-- | xmake/modules/private/action/require/impl/package.lua | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/xmake/modules/private/action/require/impl/package.lua b/xmake/modules/private/action/require/impl/package.lua index 2708e2d91..0061034df 100644 --- a/xmake/modules/private/action/require/impl/package.lua +++ b/xmake/modules/private/action/require/impl/package.lua @@ -710,8 +710,10 @@ function _load_package(packagename, requireinfo, opt) opt = opt or {} if opt.requirepath then local splitinfo = opt.requirepath:split(".", {plain = true}) - if #splitinfo > 1 and splitinfo[1] == splitinfo[#splitinfo] then - raise("circular dependency(%s) detected in package(%s)!", opt.requirepath, packagename) + if #splitinfo > 3 and + splitinfo[1] == splitinfo[#splitinfo - 1] and + splitinfo[2] == splitinfo[#splitinfo] then + raise("circular dependency(%s) detected in package(%s)!", opt.requirepath, splitinfo[1]) end end |
