diff options
| author | ruki <[email protected]> | 2017-08-03 09:09:17 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2017-08-03 09:09:17 +0800 |
| commit | b40bc697d9ce4e20836b60941daabfeaae080b28 (patch) | |
| tree | 86109ca26675a9b11af1c8d0745369b9e79b7a8c | |
| parent | c69cae38fc5dd742bec1931177f978b8cab7182d (diff) | |
improve errors tips
| -rw-r--r-- | xmake/core/sandbox/modules/os.lua | 12 | ||||
| -rw-r--r-- | xmake/core/sandbox/modules/utils.lua | 1 | ||||
| -rw-r--r-- | xmake/modules/core/tools/gcc.lua | 8 |
3 files changed, 18 insertions, 3 deletions
diff --git a/xmake/core/sandbox/modules/os.lua b/xmake/core/sandbox/modules/os.lua index adeb2874f..839d5cbba 100644 --- a/xmake/core/sandbox/modules/os.lua +++ b/xmake/core/sandbox/modules/os.lua @@ -302,7 +302,11 @@ function sandbox_os.iorun(cmd, ...) -- run it local ok, outdata, errdata = os.iorun(cmd) if not ok then - os.raise((outdata or "") .. (errdata or "")) + local errors = errdata or "" + if #errors:trim() == 0 then + errors = outdata or "" + end + os.raise(errors) end -- ok @@ -318,7 +322,11 @@ function sandbox_os.iorunv(program, argv) -- run it local ok, outdata, errdata = os.iorunv(program, argv) if not ok then - os.raise((outdata or "") .. (errdata or "")) + local errors = errdata or "" + if #errors:trim() == 0 then + errors = outdata or "" + end + os.raise(errors) end -- ok diff --git a/xmake/core/sandbox/modules/utils.lua b/xmake/core/sandbox/modules/utils.lua index f72da0423..40d2c6170 100644 --- a/xmake/core/sandbox/modules/utils.lua +++ b/xmake/core/sandbox/modules/utils.lua @@ -77,7 +77,6 @@ function sandbox_utils.print(format, ...) catch { function (errors) - print(errors) -- print multi-variables with raw lua action sandbox_utils._print(format, unpack(args)) end diff --git a/xmake/modules/core/tools/gcc.lua b/xmake/modules/core/tools/gcc.lua index 7fbe4aa3e..4d63e4837 100644 --- a/xmake/modules/core/tools/gcc.lua +++ b/xmake/modules/core/tools/gcc.lua @@ -400,6 +400,14 @@ function _compile1(self, sourcefile, objectfile, depinfo, flags) -- try removing the old object file for forcing to rebuild this source file os.tryrm(objectfile) + -- get last 16 lines + if not option.get("verbose") then + local lines = errors:split("\n") + if #lines > 32 then + errors = table.concat(table.slice(lines, #lines - 16), "\n") + end + end + -- raise compiling errors os.raise(errors) end |
