summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2020-03-21 00:38:19 +0800
committerruki <[email protected]>2020-03-20 21:49:54 +0800
commit826cbd39ee7d3f24d8742c02e55b96b4b6c4f0d6 (patch)
tree6b3b8af581bdb06bc8d0979babcc0b755472f762
parenta7aed750d6b545d75168316b55573487d2d53264 (diff)
fix invalid package deps
-rw-r--r--xmake/actions/require/impl/package.lua11
1 files changed, 6 insertions, 5 deletions
diff --git a/xmake/actions/require/impl/package.lua b/xmake/actions/require/impl/package.lua
index b08f90f4d..e8d8cc92e 100644
--- a/xmake/actions/require/impl/package.lua
+++ b/xmake/actions/require/impl/package.lua
@@ -290,9 +290,10 @@ function _check_package_configurations(package)
end
-- load required packages
-function _load_package(packagename, requireinfo)
+function _load_package(packagename, requireinfo, opt)
-- attempt to get it from cache first
+ opt = opt or {}
local packages = _g._PACKAGES or {}
local package = packages[packagename]
if package then
@@ -316,7 +317,7 @@ function _load_package(packagename, requireinfo)
end
-- load package from system
- if not package then
+ if not package and opt.system ~= false then
package = _load_package_from_system(packagename)
end
@@ -368,7 +369,7 @@ function _load_packages(requires, opt)
for _, requireinfo in ipairs(load_requires(requires, opt.requires_extra, opt.parentinfo)) do
-- load package
- local package = _load_package(requireinfo.name, requireinfo.info)
+ local package = _load_package(requireinfo.name, requireinfo.info, opt)
-- maybe package not found and optional
if package then
@@ -394,9 +395,9 @@ function _load_packages(requires, opt)
end
end
- -- load dependent packages
+ -- load dependent packages and do not load system packages for package/deps()
local packagedeps = {}
- for _, dep in ipairs(_load_packages(deps, {requires_extra = extraconfs, parentinfo = requireinfo.info, nodeps = opt.nodeps})) do
+ for _, dep in ipairs(_load_packages(deps, {requires_extra = extraconfs, parentinfo = requireinfo.info, nodeps = opt.nodeps, system = false})) do
dep:parents_add(package)
table.insert(packages, dep)
packagedeps[dep:name()] = dep