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
commitce3f5d5bf63d8fe916d90efe84106d6b5a97cd47 (patch)
treef4b98308b409b8ed004a87dfa67dc84b95412d59 /Library/Homebrew/cmd
parente4f26c39cd1a7c065d3a2b37a9dcf748533c92df (diff)
downloadhomebrew-ce3f5d5bf63d8fe916d90efe84106d6b5a97cd47.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