summaryrefslogtreecommitdiff
path: root/xmake/core/sandbox/modules/process.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2020-02-06 23:25:22 +0800
committerruki <[email protected]>2020-02-07 22:45:57 +0800
commit86dcc1f78cd9e84b9e09673eb602ca77661841cf (patch)
treeff024e06a864c817c1fb3409222c702dc44660e5 /xmake/core/sandbox/modules/process.lua
parent36ee7b8a95969aa4bfbf1d354da13dc3ba6da81d (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.lua117
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