diff options
| author | ruki <[email protected]> | 2016-02-01 11:48:35 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2016-02-15 19:10:26 +0800 |
| commit | 319d430b6befbddaa4b10584a43a52b47dd8aaf0 (patch) | |
| tree | d4e47680dbe74b2708a1a09f574fde0f12337348 | |
| parent | 4d9ea35a4cc8e4a2ac0d7e2633f088ca0be7e7f1 (diff) | |
wrap some interfaces for sandbox os
| -rw-r--r-- | xmake/core/sandbox/builtin/os.lua | 77 |
1 files changed, 65 insertions, 12 deletions
diff --git a/xmake/core/sandbox/builtin/os.lua b/xmake/core/sandbox/builtin/os.lua index 3689086f2..717fa2453 100644 --- a/xmake/core/sandbox/builtin/os.lua +++ b/xmake/core/sandbox/builtin/os.lua @@ -23,24 +23,77 @@ -- load modules local io = require("base/io") local os = require("base/os") +local utils = require("base/utils") --- define module: _os -local _os = _os or {} +-- define module +local sandbox_builtin_os = sandbox_builtin_os or {} --- cat the given file -function _os.cat(filepath, linecount) +-- copy file or directory +function sandbox_builtin_os.cp(src, dst) - -- cat it - return io.cat(filepath, linecount) + -- check + assert(src and dst) + + -- done + local ok, errors = os.cp(src, dst) + if not ok then + utils.error(errors) + utils.abort() + end + end --- only copy the interfaces of os -for k, v in pairs(os) do - if type(v) == "function" then - _os[k] = v +-- move file or directory +function sandbox_builtin_os.mv(src, dst) + + -- check + assert(src and dst) + + -- done + local ok, errors = os.mv(src, dst) + if not ok then + utils.error(errors) + utils.abort() end + end --- return module: _os -return _os +-- remove file or directory +function sandbox_builtin_os.rm(file_or_dir, emptydir) + + -- check + assert(file_or_dir) + + -- done + local ok, errors = os.rm(file_or_dir, emptydir) + if not ok then + utils.error(errors) + utils.abort() + end + +end + +-- change to directory +function sandbox_builtin_os.cd(dir) + + -- check + assert(dir) + + -- done + local ok, errors = os.cd(dir) + if not ok then + utils.error(errors) + utils.abort() + end + +end + +-- register some public interfaces +sandbox_builtin_os.match = os.match +sandbox_builtin_os.isdir = os.isdir +sandbox_builtin_os.isfile = os.isfile +sandbox_builtin_os.curdir = os.curdir + +-- return module +return sandbox_builtin_os |
