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))
|
@locate[key] = if (located_tool = original_locate(tool))
|
||||||
located_tool
|
located_tool
|
||||||
elsif MacOS.version > :tiger
|
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)
|
Pathname.new(path) if File.executable?(path)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -134,7 +134,7 @@ class SystemConfig
|
|||||||
# java_home doesn't exist on all macOSs; it might be missing on older versions.
|
# 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"
|
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?
|
return "N/A" unless $CHILD_STATUS.success?
|
||||||
javas = []
|
javas = []
|
||||||
REXML::XPath.each(REXML::Document.new(java_xml), "//key[text()='JVMVersion']/following-sibling::string") do |item|
|
REXML::XPath.each(REXML::Document.new(java_xml), "//key[text()='JVMVersion']/following-sibling::string") do |item|
|
||||||
|
|||||||
@ -1,20 +1,20 @@
|
|||||||
module Utils
|
module Utils
|
||||||
def self.popen_read(*args, &block)
|
def self.popen_read(*args, **options, &block)
|
||||||
popen(args, "rb", &block)
|
popen(args, "rb", options, &block)
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.popen_write(*args, &block)
|
def self.popen_write(*args, **options, &block)
|
||||||
popen(args, "wb", &block)
|
popen(args, "wb", options, &block)
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.popen(args, mode)
|
def self.popen(args, mode, options = {})
|
||||||
IO.popen("-", mode) do |pipe|
|
IO.popen("-", mode) do |pipe|
|
||||||
if pipe
|
if pipe
|
||||||
return pipe.read unless block_given?
|
return pipe.read unless block_given?
|
||||||
yield pipe
|
yield pipe
|
||||||
else
|
else
|
||||||
$stderr.reopen("/dev/null", "w")
|
options[:err] ||= :close unless ENV["HOMEBREW_STDERR"]
|
||||||
exec(*args)
|
exec(*args, options)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user