diff options
Diffstat (limited to 'Library/Homebrew/cmd')
| -rwxr-xr-x | Library/Homebrew/cmd/readall.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Library/Homebrew/cmd/readall.rb b/Library/Homebrew/cmd/readall.rb new file mode 100755 index 000000000..fa65d8cf2 --- /dev/null +++ b/Library/Homebrew/cmd/readall.rb @@ -0,0 +1,33 @@ +# `brew readall` tries to import all formulae one-by-one. +# This can be useful for debugging issues across all formulae +# when making significant changes to formula.rb, +# or to determine if any current formulae have Ruby issues + +require 'formula' +require 'cmd/tap' + +module Homebrew + def readall + formulae = [] + if ARGV.empty? + formulae = Formula.names + else + user, repo = tap_args + user.downcase! + repo.downcase! + tap = HOMEBREW_LIBRARY/"Taps/#{user}/homebrew-#{repo}" + raise "#{tap} does not exist!" unless tap.directory? + tap.find_formula { |f| formulae << f } + end + + formulae.sort.each do |n| + begin + Formula.factory(n) + rescue Exception => e + onoe "problem in #{Formula.path(n)}" + puts e + Homebrew.failed = true + end + end + end +end |
