option --ask implementation for formulae dependency and dependant
This commit is contained in:
parent
92470e0028
commit
3ed1d6ccfb
@ -246,36 +246,47 @@ module Homebrew
|
||||
total_installed_size = 0
|
||||
total_net_size = 0
|
||||
formulae_to_install.each do |f|
|
||||
next unless (bottle = f.bottle)
|
||||
kegs_size = 0
|
||||
# keep it quiet as there could be a lot of json fetch, it’s not intuitive to show them all.
|
||||
bottle.fetch_tab(quiet: !args.debug?)
|
||||
total_download_size += T.must(bottle.bottle_size) if bottle.bottle_size
|
||||
total_installed_size += T.must(bottle.installed_size) if bottle.installed_size
|
||||
f.installed_kegs.each do |keg|
|
||||
kegs_size += keg.disk_usage if keg.disk_usage
|
||||
end
|
||||
total_net_size += (bottle.installed_size - kegs_size) if bottle.installed_size
|
||||
sized_formulae.push(f)
|
||||
next if f.deps.empty?
|
||||
outdated_dependents = f.recursive_dependencies{ |_, dep|
|
||||
next :prune if dep.to_formula.deps.empty?
|
||||
next :prune unless dep.to_formula.outdated?
|
||||
next :prune unless dep.to_formula.bottled?
|
||||
}.flatten
|
||||
|
||||
sized_formulae.concat(outdated_dependents.flat_map { |dep|
|
||||
dep.to_formula
|
||||
}).flatten
|
||||
|
||||
# f.recursive_dependencies.each do |dep|
|
||||
# f_dep = dep.to_formula
|
||||
# kegs_dep_size = 0
|
||||
# bottle_dep = f_dep.bottle
|
||||
# bottle_dep.fetch_tab(quiet: !args.debug?)
|
||||
# total_download_size += bottle_dep.bottle_size if bottle_dep.bottle_size
|
||||
# total_installed_size += bottle_dep.installed_size if bottle_dep.installed_size
|
||||
# f_dep.installed_kegs.each do |keg|
|
||||
# kegs_dep_size += keg.disk_usage if keg.disk_usage
|
||||
# end
|
||||
# total_net_size += (bottle_dep.installed_size - kegs_dep_size) if bottle_dep.installed_size
|
||||
# end
|
||||
end
|
||||
|
||||
# check if formulae are dependant of those formulae and add if outdated
|
||||
unless Homebrew::EnvConfig.no_installed_dependents_check?
|
||||
sized_formulae.concat(Formula.installed.select do |f|
|
||||
f.deps.any? { |dep|
|
||||
sized_formulae.include?(dep.to_formula) && f.outdated?
|
||||
}
|
||||
end)
|
||||
end
|
||||
sized_formulae = sized_formulae.uniq { |dep|
|
||||
dep.to_s
|
||||
}
|
||||
sized_formulae.each do |f|
|
||||
kegs_dep_size = 0
|
||||
next unless (bottle = f.bottle)
|
||||
bottle.fetch_tab(quiet: !args.debug?)
|
||||
total_download_size += bottle.bottle_size if bottle.bottle_size
|
||||
total_installed_size += bottle.installed_size if bottle.installed_size
|
||||
f.installed_kegs.each do |keg|
|
||||
kegs_dep_size += keg.disk_usage if keg.disk_usage
|
||||
end
|
||||
total_net_size += (bottle.installed_size - kegs_dep_size) if bottle.installed_size
|
||||
end
|
||||
|
||||
puts "Formulae: #{sized_formulae.join(", ")}\n\n"
|
||||
puts "Download Size: #{disk_usage_readable(total_download_size)}" if total_download_size
|
||||
puts "Install Size: #{disk_usage_readable(total_installed_size)}\n" if total_installed_size
|
||||
puts "Net Install Size: #{disk_usage_readable(total_net_size)}\n" if total_net_size
|
||||
puts "Install Size: #{disk_usage_readable(total_installed_size)}" if total_installed_size
|
||||
puts "Net Install Size: #{disk_usage_readable(total_net_size)}" if total_net_size
|
||||
ask_input.call
|
||||
end
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user