move Environment#shell to BasicEnvironment; clean up a few yard warnings

This commit is contained in:
Josh Holtrop 2019-05-09 22:41:28 -04:00
parent 6229cef015
commit 215f5e4b51
3 changed files with 26 additions and 26 deletions

View File

@ -247,5 +247,28 @@ module Rscons
end end
end end
# Execute a command using the system shell.
#
# The shell is automatically determined but can be overridden by the SHELL
# construction variable. If the SHELL construction variable is specified,
# the flag to pass to the shell is automatically dtermined but can be
# overridden by the SHELLFLAG construction variable.
#
# @param command [String] Command to execute.
#
# @return [String] The command's standard output.
def shell(command)
shell_cmd =
if shell = get_var("SHELL")
flag = get_var("SHELLFLAG") || (shell == "cmd" ? "/c" : "-c")
[shell, flag]
else
Rscons.get_system_shell
end
IO.popen([*shell_cmd, command]) do |io|
io.read
end
end
end end
end end

View File

@ -12,11 +12,11 @@ module Rscons
# #
# @param options [Hash] # @param options [Hash]
# Optional parameters. # Optional parameters.
# @param build_dir [String] # @option options [String] :build_dir
# Build directory. # Build directory.
# @param prefix [String] # @option options [String] :prefix
# Install prefix. # Install prefix.
# @param project_name [String] # @option options [String] :project_name
# Project name. # Project name.
def initialize(options) def initialize(options)
# Default options. # Default options.

View File

@ -487,29 +487,6 @@ module Rscons
end end
end end
# Execute a command using the system shell.
#
# The shell is automatically determined but can be overridden by the SHELL
# construction variable. If the SHELL construction variable is specified,
# the flag to pass to the shell is automatically dtermined but can be
# overridden by the SHELLFLAG construction variable.
#
# @param command [String] Command to execute.
#
# @return [String] The command's standard output.
def shell(command)
shell_cmd =
if shell = get_var("SHELL")
flag = get_var("SHELLFLAG") || (shell == "cmd" ? "/c" : "-c")
[shell, flag]
else
Rscons.get_system_shell
end
IO.popen([*shell_cmd, command]) do |io|
io.read
end
end
# Print the builder run message, depending on the Environment's echo mode. # Print the builder run message, depending on the Environment's echo mode.
# #
# @param builder [Builder] # @param builder [Builder]