Merge pull request #3174 from sjackman/popen-options
popen: Do not suppress stderr when HOMEBREW_STDERR
This commit is contained in:
commit
6b3bb666e8
@ -9,7 +9,7 @@ class DevelopmentTools
|
||||
@locate[key] = if (located_tool = original_locate(tool))
|
||||
located_tool
|
||||
elsif MacOS.version > :tiger
|
||||
path = Utils.popen_read("/usr/bin/xcrun", "-no-cache", "-find", tool).chomp
|
||||
path = Utils.popen_read("/usr/bin/xcrun", "-no-cache", "-find", tool, err: :close).chomp
|
||||
Pathname.new(path) if File.executable?(path)
|
||||
end
|
||||
end
|
||||
|
||||
@ -134,7 +134,7 @@ class SystemConfig
|
||||
# java_home doesn't exist on all macOSs; it might be missing on older versions.
|
||||
return "N/A" unless File.executable? "/usr/libexec/java_home"
|
||||
|
||||
java_xml = Utils.popen_read("/usr/libexec/java_home", "--xml", "--failfast")
|
||||
java_xml = Utils.popen_read("/usr/libexec/java_home", "--xml", "--failfast", err: :close)
|
||||
return "N/A" unless $CHILD_STATUS.success?
|
||||
javas = []
|
||||
REXML::XPath.each(REXML::Document.new(java_xml), "//key[text()='JVMVersion']/following-sibling::string") do |item|
|
||||
|
||||
@ -1,20 +1,20 @@
|
||||
module Utils
|
||||
def self.popen_read(*args, &block)
|
||||
popen(args, "rb", &block)
|
||||
def self.popen_read(*args, **options, &block)
|
||||
popen(args, "rb", options, &block)
|
||||
end
|
||||
|
||||
def self.popen_write(*args, &block)
|
||||
popen(args, "wb", &block)
|
||||
def self.popen_write(*args, **options, &block)
|
||||
popen(args, "wb", options, &block)
|
||||
end
|
||||
|
||||
def self.popen(args, mode)
|
||||
def self.popen(args, mode, options = {})
|
||||
IO.popen("-", mode) do |pipe|
|
||||
if pipe
|
||||
return pipe.read unless block_given?
|
||||
yield pipe
|
||||
else
|
||||
$stderr.reopen("/dev/null", "w")
|
||||
exec(*args)
|
||||
options[:err] ||= :close unless ENV["HOMEBREW_STDERR"]
|
||||
exec(*args, options)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user