From d1ef852ee0c6aeebac5ed7456f19f6793f00254d Mon Sep 17 00:00:00 2001 From: ruki Date: Fri, 30 Dec 2022 23:40:14 +0800 Subject: improve to check circular deps --- xmake/modules/private/action/require/impl/package.lua | 6 ++++-- 1 file 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 -- cgit v1.3.1