Use block-form of File.open and let Ruby do the cleanup

This commit is contained in:
Jack Nagel 2013-09-07 10:22:58 -05:00
parent 8b2a8d0595
commit 771a28427c

View File

@ -572,24 +572,25 @@ class Formula
end end
wr.close wr.close
f = File.open(logfn, 'w') File.open(logfn, 'w') do |f|
f.write(rd.read) until rd.eof? f.write(rd.read) until rd.eof?
Process.wait Process.wait
unless $?.success? unless $?.success?
f.flush f.flush
Kernel.system "/usr/bin/tail", "-n", "5", logfn Kernel.system "/usr/bin/tail", "-n", "5", logfn
f.puts f.puts
require 'cmd/--config' require 'cmd/--config'
Homebrew.write_build_config(f) Homebrew.write_build_config(f)
raise ErrorDuringExecution raise ErrorDuringExecution
end
end end
end end
rescue ErrorDuringExecution rescue ErrorDuringExecution
raise BuildError.new(self, cmd, args, $?) raise BuildError.new(self, cmd, args, $?)
ensure ensure
[rd, f].each { |io| io.close if io and not io.closed? } rd.close if rd and not rd.closed?
ENV.update(removed_ENV_variables) if removed_ENV_variables ENV.update(removed_ENV_variables) if removed_ENV_variables
end end