2014-09-20 15:10:36 +01:00
|
|
|
# brew-cleanup-installed: uninstall all non-whitelisted Homebrew formulae.
|
|
|
|
#
|
|
|
|
# Useful for maintainers/testers who regularly install lots of formulae
|
|
|
|
# they don't actually use.
|
|
|
|
#
|
|
|
|
# Populate ~/.brew-cleanup-installed with the formulae you want to keep
|
|
|
|
# installed. All others will be uninstalled when brew-cleanup-installed is run.
|
|
|
|
|
|
|
|
module Homebrew
|
|
|
|
def cleanup_installed
|
|
|
|
cleanup_file = Pathname.new "#{ENV["HOME"]}/.brew-cleanup-installed"
|
|
|
|
return unless cleanup_file.exist?
|
|
|
|
|
|
|
|
kept_formulae = cleanup_file.read.lines.map(&:strip)
|
|
|
|
current_formulae = `brew list`.lines.map(&:strip)
|
|
|
|
uninstall_formulae = current_formulae - kept_formulae
|
|
|
|
return if uninstall_formulae.empty?
|
2015-01-11 10:12:44 +00:00
|
|
|
safe_system "brew", "uninstall", "--force", *uninstall_formulae
|
2014-09-20 15:10:36 +01:00
|
|
|
end
|
|
|
|
end
|