diff options
| author | ruki <[email protected]> | 2021-04-21 00:39:18 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2021-04-21 00:39:18 +0800 |
| commit | 6419e11c3b64fe4a97c112dc9462499811af183f (patch) | |
| tree | e8a5efa26063da5277b45bfb38a3fb89027761e3 | |
| parent | 23ba4a62f11733c4b07ae91f372126bf7f1c23c2 (diff) | |
fix load package
| -rw-r--r-- | xmake/core/package/package.lua | 14 | ||||
| -rw-r--r-- | xmake/core/sandbox/modules/import/core/package/package.lua | 12 | ||||
| -rw-r--r-- | xmake/modules/private/action/require/impl/package.lua | 17 |
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 |
