45 lines
1.0 KiB
Ruby
Raw Normal View History

require 'formula'
module Homebrew extend self
def deps
if ARGV.include? '--installed'
2013-06-22 12:54:45 -05:00
puts_deps Formula.installed
elsif ARGV.include? '--all'
2013-06-22 12:54:45 -05:00
puts_deps Formula
elsif ARGV.include? '--tree'
raise FormulaUnspecifiedError if ARGV.named.empty?
2013-06-22 12:54:45 -05:00
puts_deps_tree ARGV.formulae
else
raise FormulaUnspecifiedError if ARGV.named.empty?
2013-06-22 12:54:45 -05:00
all_deps = deps_for_formulae ARGV.formulae
all_deps.sort! unless ARGV.include? "-n"
puts all_deps
end
end
2013-06-22 12:54:45 -05:00
def deps_for_formulae(formulae)
formulae.map do |f|
ARGV.one? ? f.deps.default : f.recursive_dependencies
end.inject(&:&).map(&:name)
end
2013-06-22 12:54:45 -05:00
def puts_deps(formulae)
formulae.each { |f| puts "#{f.name}: #{f.deps*' '}" }
end
def puts_deps_tree(formulae)
formulae.each do |f|
puts f.name
recursive_deps_tree(f, 1)
puts
end
end
def recursive_deps_tree f, level
f.deps.default.each do |dep|
puts "| "*(level-1)+"|- "+dep.to_s
recursive_deps_tree(Formula.factory(dep), level+1)
end
end
end