aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd
diff options
context:
space:
mode:
authorAdam Vandenberg2014-06-15 15:48:14 -0700
committerAdam Vandenberg2014-06-15 15:48:14 -0700
commit53826bdb0ec30ade448c93932ea38865f44ea1c4 (patch)
tree38d4d03a62131ac0cae593bce91ab4e4db170cee /Library/Homebrew/cmd
parentd487c3d97827ac9ff976cde5a5d587236a8ffb4c (diff)
downloadbrew-53826bdb0ec30ade448c93932ea38865f44ea1c4.tar.bz2
Migrate readall
Diffstat (limited to 'Library/Homebrew/cmd')
-rwxr-xr-xLibrary/Homebrew/cmd/readall.rb33
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