cleanup: refactor cleanup_formula
This commit is contained in:
parent
87a8f9a6ae
commit
b26c502f79
@ -34,24 +34,14 @@ module Homebrew extend self
|
|||||||
|
|
||||||
def cleanup_formula f
|
def cleanup_formula f
|
||||||
if f.installed?
|
if f.installed?
|
||||||
f.rack.subdirs.map { |d| Keg.new(d) }.each do |keg|
|
eligible_kegs = f.rack.subdirs.map { |d| Keg.new(d) }.select { |k| f.version > k.version }
|
||||||
if f.version > keg.version
|
eligible_kegs.each do |keg|
|
||||||
if f.can_cleanup?
|
if f.can_cleanup?
|
||||||
if !keg.linked?
|
cleanup_keg(keg)
|
||||||
if ARGV.dry_run?
|
|
||||||
puts "Would remove: #{keg}"
|
|
||||||
else
|
|
||||||
puts "Removing: #{keg}..."
|
|
||||||
keg.rmtree
|
|
||||||
end
|
|
||||||
else
|
|
||||||
opoo "Skipping (old) #{keg} due to it being linked"
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
opoo "Skipping (old) keg-only: #{keg}"
|
opoo "Skipping (old) keg-only: #{keg}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
elsif f.rack.subdirs.length > 1
|
elsif f.rack.subdirs.length > 1
|
||||||
# If the cellar only has one version installed, don't complain
|
# If the cellar only has one version installed, don't complain
|
||||||
# that we can't tell which one to keep.
|
# that we can't tell which one to keep.
|
||||||
@ -59,6 +49,17 @@ module Homebrew extend self
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def cleanup_keg keg
|
||||||
|
if keg.linked?
|
||||||
|
opoo "Skipping (old) #{keg} due to it being linked"
|
||||||
|
elsif ARGV.dry_run?
|
||||||
|
puts "Would remove: #{keg}"
|
||||||
|
else
|
||||||
|
puts "Removing: #{keg}..."
|
||||||
|
keg.rmtree
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def cleanup_cache
|
def cleanup_cache
|
||||||
return unless HOMEBREW_CACHE.directory?
|
return unless HOMEBREW_CACHE.directory?
|
||||||
HOMEBREW_CACHE.children.select(&:file?).each do |pn|
|
HOMEBREW_CACHE.children.select(&:file?).each do |pn|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user