in lib/asdf/tool_versions.rb [18:64]
def uninstall_unnecessary_software!(prompt: true)
return true unless work_to_do?
if prompt
inform
return true unless confirm?
end
failed_to_uninstall = {}
unnecessary_installed_versions_of_software.each do |name, versions|
GDK::Output.print "Uninstalling #{name} "
versions.each_with_index do |(version, tool_version), i|
GDK::Output.print ', ' if i.positive?
GDK::Output.print version
begin
tool_version.uninstall!
rescue ToolVersion::UninstallFailedError
failed_to_uninstall[name] ||= []
failed_to_uninstall[name] << version
end
end
icon = if failed_to_uninstall.empty?
:success
elsif failed_to_uninstall.count == versions.count
:error
else
:warning
end
GDK::Output.puts(" #{GDK::Output.icon(icon)}")
end
return true if failed_to_uninstall.empty?
GDK::Output.puts(stderr: true)
GDK::Output.warn("Failed to uninstall the following:\n\n")
failed_to_uninstall.each do |name, versions|
GDK::Output.puts("#{name} #{versions.join(', ')}")
end
false
end