From 9b798ccb203a8692a406f4a44e93b1ef748e7606 Mon Sep 17 00:00:00 2001 From: Max Howell Date: Wed, 7 Mar 2012 11:11:05 +0000 Subject: Move brew output for BuildError into BuildError So upgrade can output errors but continue to upgrade the rest of the installation. --- Library/Homebrew/exceptions.rb | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'Library/Homebrew/exceptions.rb') diff --git a/Library/Homebrew/exceptions.rb b/Library/Homebrew/exceptions.rb index 633db6106..6db601fe1 100644 --- a/Library/Homebrew/exceptions.rb +++ b/Library/Homebrew/exceptions.rb @@ -121,6 +121,42 @@ class BuildError < Homebrew::InstallationError def was_running_configure? @command == './configure' end + + def dump + e = self + + require 'cmd/--config' + require 'cmd/--env' + + e.backtrace[1] =~ %r{Library/Formula/(.+)\.rb:(\d+)} + formula_name = $1 + error_line = $2 + + ohai "Exit Status: #{e.exit_status}" + puts "http://github.com/mxcl/homebrew/blob/master/Library/Formula/#{formula_name}.rb#L#{error_line}" + ohai "Environment" + puts Homebrew.config_s + ohai "Build Flags" + puts %["--use-clang" was specified] if ARGV.include? '--use-clang' + puts %["--use-llvm" was specified] if ARGV.include? '--use-llvm' + puts %["--use-gcc" was specified] if ARGV.include? '--use-gcc' + Homebrew.dump_build_env e.env + puts + onoe e + issues = GitHub.issues_for_formula formula_name + if issues.empty? + puts "If `brew doctor' does not help diagnose the issue, please report the bug:" + puts " #{Tty.em}#{ISSUES_URL}#{Tty.reset}" + else + puts "These existing issues may help you:", *issues.map{ |s| " #{Tty.em}#{s}#{Tty.reset}" } + puts "Otherwise, please report the bug:" + puts " #{Tty.em}#{ISSUES_URL}#{Tty.reset}" + end + if e.was_running_configure? + puts "We saved the configure log, please gist it if you report the issue:" + puts " ~/Library/Logs/Homebrew/config.log" + end + end end # raised in CurlDownloadStrategy.fetch -- cgit v1.2.3