diff options
| author | ruki <[email protected]> | 2020-02-06 23:25:22 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-02-07 22:45:57 +0800 |
| commit | 86dcc1f78cd9e84b9e09673eb602ca77661841cf (patch) | |
| tree | ff024e06a864c817c1fb3409222c702dc44660e5 /xmake/core/sandbox/modules/process.lua | |
| parent | 36ee7b8a95969aa4bfbf1d354da13dc3ba6da81d (diff) | |
move process module to core.base.process
Diffstat (limited to 'xmake/core/sandbox/modules/process.lua')
| -rw-r--r-- | xmake/core/sandbox/modules/process.lua | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/xmake/core/sandbox/modules/process.lua b/xmake/core/sandbox/modules/process.lua deleted file mode 100644 index 6b9a16728..000000000 --- a/xmake/core/sandbox/modules/process.lua +++ /dev/null @@ -1,117 +0,0 @@ ---!A cross-platform build utility based on Lua --- --- Licensed under the Apache License, Version 2.0 (the "License"); --- you may not use this file except in compliance with the License. --- You may obtain a copy of the License at --- --- http://www.apache.org/licenses/LICENSE-2.0 --- --- Unless required by applicable law or agreed to in writing, software --- distributed under the License is distributed on an "AS IS" BASIS, --- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --- See the License for the specific language governing permissions and --- limitations under the License. --- --- Copyright (C) 2015-2020, TBOOX Open Source Group. --- --- @author ruki --- @file process.lua --- - --- load modules -local process = require("base/process") -local sandbox = require("sandbox/sandbox") -local raise = require("sandbox/modules/raise") -local vformat = require("sandbox/modules/vformat") - --- define module -local sandbox_process = sandbox_process or {} -local sandbox_process_subprocess = sandbox_process_subprocess or {} -sandbox_process._subprocess = sandbox_process._subprocess or process._subprocess - --- wait subprocess -function sandbox_process_subprocess.wait(proc, timeout) - local ok, status, errors = proc:_wait(timeout) - if errors then - raise(errors) - end - return ok, status -end - --- close subprocess -function sandbox_process_subprocess.close(proc) - local ok, errors = proc:_close() - if not ok then - raise(errors) - end -end - --- open process ---- --- @param command the command --- @param opt the arguments option, {outpath = "", errpath = "", envs = {"PATH=xxx", "XXX=yyy"} --- -function sandbox_process.open(command, opt) - - -- check - assert(command) - - -- format command first - command = vformat(command) - - -- open process - local proc, errors = process.open(command, opt) - if not proc then - raise(errors) - end - - -- hook subprocess interfaces - local hooked = {} - for name, func in pairs(sandbox_process_subprocess) do - if not name:startswith("_") and type(func) == "function" then - hooked["_" .. name] = proc["_" .. name] or proc[name] - hooked[name] = func - end - end - for name, func in pairs(hooked) do - proc[name] = func - end - return proc -end - --- open process with arguments --- --- @param filename the command/file name --- @param argv the command arguments --- @param opt the arguments option, {outpath = "", errpath = "", envs = {"PATH=xxx", "XXX=yyy"} --- -function sandbox_process.openv(filename, argv, opt) - - -- check - assert(argv) - - -- format filename first - filename = vformat(filename) - - -- open process - local proc, errors = process.openv(filename, argv, opt) - if not proc then - raise(errors) - end - - -- hook subprocess interfaces - local hooked = {} - for name, func in pairs(sandbox_process_subprocess) do - if not name:startswith("_") and type(func) == "function" then - hooked["_" .. name] = proc["_" .. name] or proc[name] - hooked[name] = func - end - end - for name, func in pairs(hooked) do - proc[name] = func - end - return proc -end - --- return module -return sandbox_process |
