From 674d041d804be070c5a6836ae03ce573c68ece84 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Sat, 16 Nov 2013 14:10:23 -0600 Subject: Move brew-leaves into core Closes Homebrew/homebrew#24371. --- Library/Homebrew/cmd/leaves.rb | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Library/Homebrew/cmd/leaves.rb (limited to 'Library/Homebrew/cmd') 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 -- cgit v1.2.3