diff options
| author | Hisham Muhammad <hisham@gobolinux.org> | 2013-09-26 20:42:59 -0300 |
|---|---|---|
| committer | Hisham Muhammad <hisham@gobolinux.org> | 2013-09-26 20:42:59 -0300 |
| commit | df1e8d9e617c0ce3ec9c899aa1f08773532bb6b0 (patch) | |
| tree | 71a7f8f0cfc23bbae9f52e1feb911f6c129d84b0 /src | |
| parent | 99bf4199f2579a5e35dacb5da49b93e9769d18df (diff) | |
| download | luarocks-df1e8d9e617c0ce3ec9c899aa1f08773532bb6b0.tar.gz luarocks-df1e8d9e617c0ce3ec9c899aa1f08773532bb6b0.tar.bz2 luarocks-df1e8d9e617c0ce3ec9c899aa1f08773532bb6b0.zip | |
A simpler approach for reducing output clutter. Closes #158.
Diffstat (limited to 'src')
| -rw-r--r-- | src/luarocks/build/cmake.lua | 2 | ||||
| -rw-r--r-- | src/luarocks/fs/lua.lua | 27 | ||||
| -rw-r--r-- | src/luarocks/fs/unix/tools.lua | 10 | ||||
| -rw-r--r-- | src/luarocks/fs/win32/tools.lua | 24 | ||||
| -rw-r--r-- | src/luarocks/persist.lua | 2 |
5 files changed, 41 insertions, 24 deletions
diff --git a/src/luarocks/build/cmake.lua b/src/luarocks/build/cmake.lua index 82f4ff58..f1737876 100644 --- a/src/luarocks/build/cmake.lua +++ b/src/luarocks/build/cmake.lua | |||
| @@ -22,7 +22,7 @@ function run(rockspec) | |||
| 22 | 22 | ||
| 23 | util.variable_substitutions(variables, rockspec.variables) | 23 | util.variable_substitutions(variables, rockspec.variables) |
| 24 | 24 | ||
| 25 | if not fs.execute_string(fs.quiet(rockspec.variables.CMAKE.." --help")) then | 25 | if not fs.execute_quiet(rockspec.variables.CMAKE, "--help")) then |
| 26 | return nil, "'"..rockspec.variables.CMAKE.."' program not found. Is cmake installed? You may want to edit variables.CMAKE" | 26 | return nil, "'"..rockspec.variables.CMAKE.."' program not found. Is cmake installed? You may want to edit variables.CMAKE" |
| 27 | end | 27 | end |
| 28 | 28 | ||
diff --git a/src/luarocks/fs/lua.lua b/src/luarocks/fs/lua.lua index f50ecf75..32aac6d6 100644 --- a/src/luarocks/fs/lua.lua +++ b/src/luarocks/fs/lua.lua | |||
| @@ -83,6 +83,15 @@ function make_temp_dir(name) | |||
| 83 | end | 83 | end |
| 84 | end | 84 | end |
| 85 | 85 | ||
| 86 | local function quote_args(command, ...) | ||
| 87 | local out = { command } | ||
| 88 | for _, arg in ipairs({...}) do | ||
| 89 | assert(type(arg) == "string") | ||
| 90 | out[#out+1] = fs.Q(arg) | ||
| 91 | end | ||
| 92 | return table.concat(out, " ") | ||
| 93 | end | ||
| 94 | |||
| 86 | --- Run the given command, quoting its arguments. | 95 | --- Run the given command, quoting its arguments. |
| 87 | -- The command is executed in the current directory in the dir stack. | 96 | -- The command is executed in the current directory in the dir stack. |
| 88 | -- @param command string: The command to be executed. No quoting/escaping | 97 | -- @param command string: The command to be executed. No quoting/escaping |
| @@ -92,12 +101,19 @@ end | |||
| 92 | -- otherwise. | 101 | -- otherwise. |
| 93 | function execute(command, ...) | 102 | function execute(command, ...) |
| 94 | assert(type(command) == "string") | 103 | assert(type(command) == "string") |
| 104 | return fs.execute_string(quote_args(command, ...)) | ||
| 105 | end | ||
| 95 | 106 | ||
| 96 | for _, arg in ipairs({...}) do | 107 | --- Run the given command, quoting its arguments, silencing its output. |
| 97 | assert(type(arg) == "string") | 108 | -- The command is executed in the current directory in the dir stack. |
| 98 | command = command .. " " .. fs.Q(arg) | 109 | -- @param command string: The command to be executed. No quoting/escaping |
| 99 | end | 110 | -- is applied. |
| 100 | return fs.execute_string(command) | 111 | -- @param ... Strings containing additional arguments, which are quoted. |
| 112 | -- @return boolean: true if command succeeds (status code 0), false | ||
| 113 | -- otherwise. | ||
| 114 | function execute_quiet(command, ...) | ||
| 115 | assert(type(command) == "string") | ||
| 116 | return fs.execute_string(fs.quiet(quote_args(command, ...))) | ||
| 101 | end | 117 | end |
| 102 | 118 | ||
| 103 | --- Check the MD5 checksum for a file. | 119 | --- Check the MD5 checksum for a file. |
| @@ -482,6 +498,7 @@ if socket_ok then | |||
| 482 | 498 | ||
| 483 | local ltn12 = require("ltn12") | 499 | local ltn12 = require("ltn12") |
| 484 | local luasec_ok, https = pcall(require, "ssl.https") | 500 | local luasec_ok, https = pcall(require, "ssl.https") |
| 501 | |||
| 485 | local redirect_protocols = { | 502 | local redirect_protocols = { |
| 486 | http = http, | 503 | http = http, |
| 487 | https = luasec_ok and https, | 504 | https = luasec_ok and https, |
diff --git a/src/luarocks/fs/unix/tools.lua b/src/luarocks/fs/unix/tools.lua index 9e4acf73..1b2931e9 100644 --- a/src/luarocks/fs/unix/tools.lua +++ b/src/luarocks/fs/unix/tools.lua | |||
| @@ -88,7 +88,7 @@ end | |||
| 88 | -- @param directory string: pathname of directory to remove. | 88 | -- @param directory string: pathname of directory to remove. |
| 89 | function remove_dir_if_empty(directory) | 89 | function remove_dir_if_empty(directory) |
| 90 | assert(directory) | 90 | assert(directory) |
| 91 | fs.execute_string(fs.quiet(vars.RMDIR.." "..fs.Q(directory))) | 91 | fs.execute_quiet(vars.RMDIR, directory) |
| 92 | end | 92 | end |
| 93 | 93 | ||
| 94 | --- Remove a directory if it is empty. | 94 | --- Remove a directory if it is empty. |
| @@ -97,7 +97,7 @@ end | |||
| 97 | -- @param directory string: pathname of directory to remove. | 97 | -- @param directory string: pathname of directory to remove. |
| 98 | function remove_dir_tree_if_empty(directory) | 98 | function remove_dir_tree_if_empty(directory) |
| 99 | assert(directory) | 99 | assert(directory) |
| 100 | fs.execute_string(fs.quiet(vars.RMDIR.." -p "..fs.Q(directory))) | 100 | fs.execute_quiet(vars.RMDIR, "-p", directory) |
| 101 | end | 101 | end |
| 102 | 102 | ||
| 103 | --- Copy a file. | 103 | --- Copy a file. |
| @@ -132,7 +132,7 @@ end | |||
| 132 | -- plus an error message. | 132 | -- plus an error message. |
| 133 | function copy_contents(src, dest) | 133 | function copy_contents(src, dest) |
| 134 | assert(src and dest) | 134 | assert(src and dest) |
| 135 | if fs.execute_string(fs.quiet(vars.CP.." -pPR "..fs.Q(src).."/* "..fs.Q(dest))) then | 135 | if fs.execute_quiet(vars.CP.." -pPR "..fs.Q(src).."/* "..fs.Q(dest)) then |
| 136 | return true | 136 | return true |
| 137 | else | 137 | else |
| 138 | return false, "Failed copying "..src.." to "..dest | 138 | return false, "Failed copying "..src.." to "..dest |
| @@ -145,7 +145,7 @@ end | |||
| 145 | function delete(arg) | 145 | function delete(arg) |
| 146 | assert(arg) | 146 | assert(arg) |
| 147 | assert(arg:sub(1,1) == "/") | 147 | assert(arg:sub(1,1) == "/") |
| 148 | return fs.execute_string(fs.quiet(vars.RM.." -rf " .. fs.Q(arg))) | 148 | return fs.execute_quiet(vars.RM, "-rf", arg) |
| 149 | end | 149 | end |
| 150 | 150 | ||
| 151 | --- List the contents of a directory. | 151 | --- List the contents of a directory. |
| @@ -206,7 +206,7 @@ end | |||
| 206 | -- @return boolean: true on success, false on failure. | 206 | -- @return boolean: true on success, false on failure. |
| 207 | function unzip(zipfile) | 207 | function unzip(zipfile) |
| 208 | assert(zipfile) | 208 | assert(zipfile) |
| 209 | return fs.execute_string(fs.quiet(vars.UNZIP.." "..fs.Q(zipfile))) | 209 | return fs.execute_quiet(vars.UNZIP, zipfile) |
| 210 | end | 210 | end |
| 211 | 211 | ||
| 212 | --- Test is file/directory exists | 212 | --- Test is file/directory exists |
diff --git a/src/luarocks/fs/win32/tools.lua b/src/luarocks/fs/win32/tools.lua index f60b8f5b..b8f9bd36 100644 --- a/src/luarocks/fs/win32/tools.lua +++ b/src/luarocks/fs/win32/tools.lua | |||
| @@ -108,7 +108,7 @@ end | |||
| 108 | function make_dir(directory) | 108 | function make_dir(directory) |
| 109 | assert(directory) | 109 | assert(directory) |
| 110 | directory = dir.normalize(directory) | 110 | directory = dir.normalize(directory) |
| 111 | fs.execute(fs.quiet(vars.MKDIR.." -p "..fs.Q(directory))) | 111 | fs.execute_quiet(vars.MKDIR.." -p ", directory) |
| 112 | if not fs.is_dir(directory) then | 112 | if not fs.is_dir(directory) then |
| 113 | return false, "failed making directory "..directory | 113 | return false, "failed making directory "..directory |
| 114 | end | 114 | end |
| @@ -121,7 +121,7 @@ end | |||
| 121 | -- @param directory string: pathname of directory to remove. | 121 | -- @param directory string: pathname of directory to remove. |
| 122 | function remove_dir_if_empty(directory) | 122 | function remove_dir_if_empty(directory) |
| 123 | assert(directory) | 123 | assert(directory) |
| 124 | fs.execute_string(fs.quiet(vars.RMDIR.." "..fs.Q(directory))) | 124 | fs.execute_quiet(vars.RMDIR, directory) |
| 125 | end | 125 | end |
| 126 | 126 | ||
| 127 | --- Remove a directory if it is empty. | 127 | --- Remove a directory if it is empty. |
| @@ -130,7 +130,7 @@ end | |||
| 130 | -- @param directory string: pathname of directory to remove. | 130 | -- @param directory string: pathname of directory to remove. |
| 131 | function remove_dir_tree_if_empty(directory) | 131 | function remove_dir_tree_if_empty(directory) |
| 132 | assert(directory) | 132 | assert(directory) |
| 133 | fs.execute_string(fs.quiet(vars.RMDIR.." "..fs.Q(directory))) | 133 | fs.execute_quiet(vars.RMDIR, directory) |
| 134 | end | 134 | end |
| 135 | 135 | ||
| 136 | --- Copy a file. | 136 | --- Copy a file. |
| @@ -155,7 +155,7 @@ end | |||
| 155 | -- plus an error message. | 155 | -- plus an error message. |
| 156 | function copy_contents(src, dest) | 156 | function copy_contents(src, dest) |
| 157 | assert(src and dest) | 157 | assert(src and dest) |
| 158 | if fs.execute_string(fs.quiet(vars.CP.." -dR "..src.."\\*.* "..fs.Q(dest))) then | 158 | if fs.execute_quiet(vars.CP.." -dR "..src.."\\*.* "..fs.Q(dest)) then |
| 159 | return true | 159 | return true |
| 160 | else | 160 | else |
| 161 | return false, "Failed copying "..src.." to "..dest | 161 | return false, "Failed copying "..src.." to "..dest |
| @@ -170,7 +170,7 @@ function delete(arg) | |||
| 170 | assert(arg) | 170 | assert(arg) |
| 171 | assert(arg:match("^[\a-zA-Z]?:?[\\/]")) | 171 | assert(arg:match("^[\a-zA-Z]?:?[\\/]")) |
| 172 | fs.execute(vars.CHMOD.." a+rw -R ", arg) | 172 | fs.execute(vars.CHMOD.." a+rw -R ", arg) |
| 173 | return fs.execute_string(fs.quiet(vars.RM.." -rf " .. fs.Q(arg))) | 173 | return fs.execute_quiet(vars.RM.." -rf ", arg) |
| 174 | end | 174 | end |
| 175 | 175 | ||
| 176 | --- List the contents of a directory. | 176 | --- List the contents of a directory. |
| @@ -245,7 +245,7 @@ end | |||
| 245 | -- @return boolean: true if it is a directory, false otherwise. | 245 | -- @return boolean: true if it is a directory, false otherwise. |
| 246 | function is_dir(file) | 246 | function is_dir(file) |
| 247 | assert(file) | 247 | assert(file) |
| 248 | return fs.execute(fs.quiet(vars.TEST.." -d " .. fs.Q(file))) | 248 | return fs.execute_quiet(vars.TEST.." -d ", file) |
| 249 | end | 249 | end |
| 250 | 250 | ||
| 251 | --- Test is pathname is a regular file. | 251 | --- Test is pathname is a regular file. |
| @@ -301,20 +301,20 @@ function unpack_archive(archive) | |||
| 301 | if archive:match("%.tar%.gz$") then | 301 | if archive:match("%.tar%.gz$") then |
| 302 | ok = gunzip(archive) | 302 | ok = gunzip(archive) |
| 303 | if ok then | 303 | if ok then |
| 304 | ok = fs.execute(sevenzx, strip_extension(archive)) | 304 | ok = fs.execute_quiet(sevenzx, strip_extension(archive)) |
| 305 | end | 305 | end |
| 306 | elseif archive:match("%.tgz$") then | 306 | elseif archive:match("%.tgz$") then |
| 307 | ok = gunzip(archive) | 307 | ok = gunzip(archive) |
| 308 | if ok then | 308 | if ok then |
| 309 | ok = fs.execute(sevenzx, strip_extension(archive)..".tar") | 309 | ok = fs.execute_quiet(sevenzx, strip_extension(archive)..".tar") |
| 310 | end | 310 | end |
| 311 | elseif archive:match("%.tar%.bz2$") then | 311 | elseif archive:match("%.tar%.bz2$") then |
| 312 | ok = fs.execute(sevenzx, archive) | 312 | ok = fs.execute_quiet(sevenzx, archive) |
| 313 | if ok then | 313 | if ok then |
| 314 | ok = fs.execute(sevenzx, strip_extension(archive)) | 314 | ok = fs.execute_quiet(sevenzx, strip_extension(archive)) |
| 315 | end | 315 | end |
| 316 | elseif archive:match("%.zip$") then | 316 | elseif archive:match("%.zip$") then |
| 317 | ok = fs.execute(sevenzx, archive) | 317 | ok = fs.execute_quiet(sevenzx, archive) |
| 318 | elseif archive:match("%.lua$") or archive:match("%.c$") then | 318 | elseif archive:match("%.lua$") or archive:match("%.c$") then |
| 319 | -- Ignore .lua and .c files; they don't need to be extracted. | 319 | -- Ignore .lua and .c files; they don't need to be extracted. |
| 320 | return true | 320 | return true |
| @@ -352,5 +352,5 @@ end | |||
| 352 | -- @return boolean: true if file exists, false otherwise. | 352 | -- @return boolean: true if file exists, false otherwise. |
| 353 | function exists(file) | 353 | function exists(file) |
| 354 | assert(file) | 354 | assert(file) |
| 355 | return fs.execute(fs.quiet("if not exist " .. fs.Q(file) .. " invalidcommandname")) | 355 | return fs.execute_quiet("if not exist " .. fs.Q(file) .. " invalidcommandname") |
| 356 | end | 356 | end |
diff --git a/src/luarocks/persist.lua b/src/luarocks/persist.lua index 376a242a..5b92f9cb 100644 --- a/src/luarocks/persist.lua +++ b/src/luarocks/persist.lua | |||
| @@ -170,4 +170,4 @@ function save_from_table(filename, tbl, field_order) | |||
| 170 | write_table(out, tbl, field_order) | 170 | write_table(out, tbl, field_order) |
| 171 | out:close() | 171 | out:close() |
| 172 | return true | 172 | return true |
| 173 | end | 173 | end \ No newline at end of file |
