summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xmake/modules/private/action/require/impl/install_packages.lua4
1 files changed, 3 insertions, 1 deletions
diff --git a/xmake/modules/private/action/require/impl/install_packages.lua b/xmake/modules/private/action/require/impl/install_packages.lua
index fb7647861..7e83ae939 100644
--- a/xmake/modules/private/action/require/impl/install_packages.lua
+++ b/xmake/modules/private/action/require/impl/install_packages.lua
@@ -520,7 +520,9 @@ function main(requires, opt)
-- fetch and register packages (with system) from local first
runjobs("fetch_packages", function (index)
local instance = packages[index]
- if instance and (not option.get("force") or (option.get("shallow") and not instance:is_toplevel())) then
+ if instance and (instance:is_fetchonly() or
+ not option.get("force") or
+ (option.get("shallow") and not instance:is_toplevel())) then
local oldenvs = os.getenvs()
instance:envs_enter()
instance:fetch()