diff options
| author | ruki <[email protected]> | 2021-04-15 21:00:27 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2021-04-15 21:00:27 +0800 |
| commit | 452296643e9565ca2c7bd5be047f0f42836fd0de (patch) | |
| tree | e1cbbe2a1c1823d9769a95bacc0df7140cad65fb /xmake/modules | |
| parent | 558cdaeef8b54f4fefb803d136116cc289283962 (diff) | |
improve xrepo envs
Diffstat (limited to 'xmake/modules')
| -rw-r--r-- | xmake/modules/private/xrepo/action/env.lua | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/xmake/modules/private/xrepo/action/env.lua b/xmake/modules/private/xrepo/action/env.lua index 46fe2cbe7..a6461dceb 100644 --- a/xmake/modules/private/xrepo/action/env.lua +++ b/xmake/modules/private/xrepo/action/env.lua @@ -20,8 +20,10 @@ -- imports import("core.base.option") +import("core.base.task") import("core.project.config") import("private.action.require.impl.package") +import("private.action.require.impl.utils.get_requires") -- get menu options function menu_options() @@ -207,14 +209,21 @@ end -- get package environments function _package_getenvs() local envs = os.getenvs() - local packages = option.get("packages") or option.get("program") - if packages then - _enter_project() - packages = packages:split(',', {plain = true}) - local requires, requires_extra = _get_requires(packages) + if os.isfile(os.projectfile()) and not option.get("packages") then + local requires, requires_extra = get_requires() for _, instance in ipairs(package.load_packages(requires, {requires_extra = requires_extra})) do _package_addenvs(envs, instance) end + else + local packages = option.get("packages") or option.get("program") + if packages then + _enter_project() + packages = packages:split(',', {plain = true}) + local requires, requires_extra = _get_requires(packages) + for _, instance in ipairs(package.load_packages(requires, {requires_extra = requires_extra})) do + _package_addenvs(envs, instance) + end + end end return envs end |
