summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2021-04-21 00:39:18 +0800
committerruki <[email protected]>2021-04-21 00:39:18 +0800
commit6419e11c3b64fe4a97c112dc9462499811af183f (patch)
treee8a5efa26063da5277b45bfb38a3fb89027761e3
parent23ba4a62f11733c4b07ae91f372126bf7f1c23c2 (diff)
fix load package
-rw-r--r--xmake/core/package/package.lua14
-rw-r--r--xmake/core/sandbox/modules/import/core/package/package.lua12
-rw-r--r--xmake/modules/private/action/require/impl/package.lua17
3 files changed, 20 insertions, 23 deletions
diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua
index 78c83b5d3..67f9d9d27 100644
--- a/xmake/core/package/package.lua
+++ b/xmake/core/package/package.lua
@@ -1691,7 +1691,7 @@ function package.searchdirs()
end
-- load the package from the system directories
-function package.load_from_system(packagename, opt)
+function package.load_from_system(packagename)
-- get it directly from cache first
local instance = package._memcache():get2("packages", packagename)
@@ -1759,10 +1759,9 @@ function package.load_from_system(packagename, opt)
end
-- load the package from the project file
-function package.load_from_project(packagename, project, opt)
+function package.load_from_project(packagename, project)
-- get it directly from cache first
- opt = opt or {}
local instance = package._memcache():get2("packages", packagename)
if instance then
return instance
@@ -1787,10 +1786,9 @@ function package.load_from_project(packagename, project, opt)
end
-- load the package from the package directory or package description file
-function package.load_from_repository(packagename, repo, packagedir, opt)
+function package.load_from_repository(packagename, repo, packagedir, packagefile)
-- get it directly from cache first
- opt = opt or {}
local instance = package._memcache():get2("packages", packagename)
if instance then
return instance
@@ -1802,12 +1800,12 @@ function package.load_from_repository(packagename, repo, packagedir, opt)
end
-- find the package script path
- local scriptpath
- if packagedir then
+ local scriptpath = packagefile
+ if not packagefile and packagedir then
scriptpath = path.join(packagedir, "xmake.lua")
end
if not scriptpath or not os.isfile(scriptpath) then
- return nil, string.format("the package %s not found!", packagename)
+ return nil, string.format("package %s not found!", packagename)
end
-- get interpreter
diff --git a/xmake/core/sandbox/modules/import/core/package/package.lua b/xmake/core/sandbox/modules/import/core/package/package.lua
index 7f8bcc4fd..5dce9c49b 100644
--- a/xmake/core/sandbox/modules/import/core/package/package.lua
+++ b/xmake/core/sandbox/modules/import/core/package/package.lua
@@ -42,8 +42,8 @@ function sandbox_core_package_package.searchdirs()
end
-- load the package from the project file
-function sandbox_core_package_package.load_from_project(packagename, opt)
- local instance, errors = package.load_from_project(packagename, project, opt)
+function sandbox_core_package_package.load_from_project(packagename)
+ local instance, errors = package.load_from_project(packagename, project)
if errors then
raise(errors)
end
@@ -51,8 +51,8 @@ function sandbox_core_package_package.load_from_project(packagename, opt)
end
-- load the package from the system
-function sandbox_core_package_package.load_from_system(packagename, opt)
- local instance, errors = package.load_from_system(packagename, opt)
+function sandbox_core_package_package.load_from_system(packagename)
+ local instance, errors = package.load_from_system(packagename)
if errors then
raise(errors)
end
@@ -60,8 +60,8 @@ function sandbox_core_package_package.load_from_system(packagename, opt)
end
-- load the package from repositories
-function sandbox_core_package_package.load_from_repository(packagename, repo, packagedir, opt)
- local instance, errors = package.load_from_repository(packagename, repo, packagedir, opt)
+function sandbox_core_package_package.load_from_repository(packagename, repo, packagedir, packagefile)
+ local instance, errors = package.load_from_repository(packagename, repo, packagedir, packagefile)
if not instance then
raise(errors)
end
diff --git a/xmake/modules/private/action/require/impl/package.lua b/xmake/modules/private/action/require/impl/package.lua
index e0cff2e5a..c58cdc9cf 100644
--- a/xmake/modules/private/action/require/impl/package.lua
+++ b/xmake/modules/private/action/require/impl/package.lua
@@ -180,21 +180,20 @@ function _load_require(require_str, requires_extra, parentinfo)
end
-- load package package from system
-function _load_package_from_system(packagename, opt)
- return core_package.load_from_system(packagename, opt)
+function _load_package_from_system(packagename)
+ return core_package.load_from_system(packagename)
end
-- load package package from project
-function _load_package_from_project(packagename, opt)
- return core_package.load_from_project(packagename, opt)
+function _load_package_from_project(packagename)
+ return core_package.load_from_project(packagename)
end
-- load package package from repositories
-function _load_package_from_repository(packagename, opt)
- opt = opt or {}
- local packagedir, repo = repository.packagedir(packagename, opt.reponame)
+function _load_package_from_repository(packagename, reponame)
+ local packagedir, repo = repository.packagedir(packagename, reponame)
if packagedir then
- return core_package.load_from_repository(packagename, repo, packagedir, opt)
+ return core_package.load_from_repository(packagename, repo, packagedir)
end
end
@@ -524,7 +523,7 @@ function _load_package(packagename, requireinfo, opt)
-- load package from repositories
if not package then
- package = _load_package_from_repository(packagename, {reponame = requireinfo.reponame})
+ package = _load_package_from_repository(packagename, requireinfo.reponame)
end
-- load package from system