Skip to content
Snippets Groups Projects
Commit 5d13eee9 authored by Max Howell's avatar Max Howell
Browse files

Prettier exception handler

Build timing
No dmd caveats
parent a2afb5a4
No related branches found
No related tags found
No related merge requests found
# Copyright 2009 Max Howell <max@methylblue.com>
# Licensed as per the GPL version 3
require 'find'
require 'fileutils'
require 'pathname'
$agent = "Homebrew 0.1 (Ruby; Mac OS X 10.5 Leopard)"
......@@ -16,6 +14,9 @@ end
class Formula
require 'find'
require 'fileutils'
# if you reimplement, assign @name, @version, @url and @md5
def initialize(url, md5)
@name = File.basename $0, '.rb' #original script that the interpreter started
......@@ -41,6 +42,8 @@ class Formula
raise "@version.nil?" if @version.nil?
raise "@name does not validate to our regexp" unless /^\w+$/ =~ @name
beginning = Time.now
prefix=$cellar+@name+@version
raise "#{prefix} already exists!" if prefix.exist?
......@@ -78,7 +81,7 @@ class Formula
# stay in appsupport in case any odd files gets created etc.
`#{$cellar}/homebrew/brew ln #{prefix}` if prefix.exist?
puts "#{prefix}: "+`find #{prefix} -type f | wc -l`.strip+' files, '+`du -hd0 #{prefix} | cut -d"\t" -f1`.strip
puts "#{prefix}: "+`find #{prefix} -type f | wc -l`.strip+' files, '+`du -hd0 #{prefix} | cut -d"\t" -f1`.strip+", built in #{Time.now - beginning} seconds"
end
end
......@@ -141,6 +144,13 @@ def system cmd
end
end
# force a prettier exception handler unless --verbose or HOMEBREW_DEBUG
Kernel.at_exit {
unless ARGV.include? '--verbose' or ENV['HOMEBREW_DEBUG']
puts "\033[1;31mError\033[0;0m: #{$!}" if $!
exit! 1
end
}
########################################################################script
if $0 == __FILE__
......
......@@ -21,4 +21,6 @@ Formula.new(url, md5).brew do |prefix|
FileUtils.cp_r Dir['html/d/*'], html unless ARGV.include? '--no-html'
FileUtils.cp_r Dir['samples/d/*'], samples unless ARGV.include? '--no-samples'
nil
end
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment