diff options
| author | Jack Nagel | 2013-11-16 14:10:23 -0600 |
|---|---|---|
| committer | Jack Nagel | 2013-11-16 14:10:25 -0600 |
| commit | 6c252b59bdefd5702eea66223469a162cd0c9ffd (patch) | |
| tree | 26514d259af83cdd169b1cb89b324ac70a2fd9a0 /Library/Homebrew/cmd | |
| parent | 018e03b967987628879d9b9d5bcc661a880c18a3 (diff) | |
| download | homebrew-6c252b59bdefd5702eea66223469a162cd0c9ffd.tar.bz2 | |
Move brew-leaves into core
Closes #24371.
Diffstat (limited to 'Library/Homebrew/cmd')
| -rw-r--r-- | Library/Homebrew/cmd/leaves.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Library/Homebrew/cmd/leaves.rb b/Library/Homebrew/cmd/leaves.rb new file mode 100644 index 000000000..bffa332d6 --- /dev/null +++ b/Library/Homebrew/cmd/leaves.rb @@ -0,0 +1,29 @@ +require 'formula' +require 'tab' +require 'set' + +module Homebrew extend self + def leaves + installed = Formula.installed + deps_of_installed = Set.new + + installed.each do |f| + deps = [] + + f.deps.each do |dep| + if dep.optional? || dep.recommended? + tab = Tab.for_formula(f) + deps << dep.name if tab.with?(dep.name) + else + deps << dep.name + end + end + + deps_of_installed.merge(deps) + end + + installed.each do |f| + puts f.name unless deps_of_installed.include? f.name + end + end +end |
