diff options
| author | ruki <[email protected]> | 2019-04-27 00:02:50 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2019-04-26 18:17:00 +0800 |
| commit | 6e34dd3a9f72eb9c7743b1eebb10f7fbc5996025 (patch) | |
| tree | f89a7bc61fb1fa692651867ba6ed627f441035f3 /xmake/core/base/os.lua | |
| parent | 695a5e99906bbf0c4f11b68c9339222af3ebfb7d (diff) | |
add os.getenvs
Diffstat (limited to 'xmake/core/base/os.lua')
| -rw-r--r-- | xmake/core/base/os.lua | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/xmake/core/base/os.lua b/xmake/core/base/os.lua index b69dd1754..ee0404971 100644 --- a/xmake/core/base/os.lua +++ b/xmake/core/base/os.lua @@ -36,6 +36,7 @@ os._mkdir = os._mkdir or os.mkdir os._rmdir = os._rmdir or os.rmdir os._tmpdir = os._tmpdir or os.tmpdir os._setenv = os._setenv or os.setenv +os._getenvs = os._getenvs or os.getenvs os._readlink = os._readlink or os.readlink -- copy single file or directory @@ -899,6 +900,22 @@ function os.fscase() return os._FSCASE end +-- get all current environment variables +function os.getenvs() + local envs = {} + for _, line in ipairs(os._getenvs()) do + local p = line:find('=', 1, true) + if p then + local key = line:sub(1, p - 1):trim() + local values = line:sub(p + 1):trim() + if #key > 0 then + envs[key] = values + end + end + end + return envs +end + -- set values to environment variable function os.setenv(name, ...) local seperator = os.host() == "windows" and ';' or ':' |
