diff options
| author | Adam Vandenberg | 2010-07-06 11:48:36 -0700 |
|---|---|---|
| committer | Adam Vandenberg | 2010-07-08 22:41:51 -0700 |
| commit | 696e49e87a2b50639ab9e7fc983fca60bce0bfec (patch) | |
| tree | 05bc6d42e911c775143f25ff28b866c6c453b1c6 /Library/Homebrew/utils.rb | |
| parent | 6b1a8be58e6bf903a6442dee99de373a5ae89dbd (diff) | |
| download | brew-696e49e87a2b50639ab9e7fc983fca60bce0bfec.tar.bz2 | |
Move exceptions from global to utils; remove duplicate defintions
Diffstat (limited to 'Library/Homebrew/utils.rb')
| -rw-r--r-- | Library/Homebrew/utils.rb | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index b7ec5317f..b766e2fe7 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -1,3 +1,39 @@ +class ExecutionError <RuntimeError + attr :exit_status + attr :command + + def initialize cmd, args = [], es = nil + @command = cmd + super "Failure while executing: #{cmd} #{pretty(args)*' '}" + @exit_status = es.exitstatus rescue 1 + end + + def was_running_configure? + @command == './configure' + end + + private + + def pretty args + args.collect do |arg| + if arg.to_s.include? ' ' + "'#{ arg.gsub "'", "\\'" }'" + else + arg + end + end + end +end + +class BuildError <ExecutionError + attr :env + + def initialize cmd, args = [], es = nil + super + @env = ENV.to_hash + end +end + class Tty class <<self def blue; bold 34; end |
