From 5a2c91dbc2cb935ecfc42dc72975a3e721f12154 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Mon, 17 Apr 2017 15:06:24 +0100 Subject: [PATCH] uses: allow checking deleted formulae. This is useful for seeing when formulae are deleted if they are going to leave behind any formulae that depend on them. As a result, if there are any formulae returned return a non-zero/failed exit status. --- Library/Homebrew/cmd/uses.rb | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/cmd/uses.rb b/Library/Homebrew/cmd/uses.rb index b1122c90a7..bab174184a 100644 --- a/Library/Homebrew/cmd/uses.rb +++ b/Library/Homebrew/cmd/uses.rb @@ -28,7 +28,16 @@ module Homebrew def uses raise FormulaUnspecifiedError if ARGV.named.empty? - used_formulae = ARGV.formulae + used_formulae_missing = false + used_formulae = begin + ARGV.formulae + rescue FormulaUnavailableError => e + opoo e + used_formulae_missing = true + # If the formula doesn't exist: fake the needed formula object name. + ARGV.named.map { |name| OpenStruct.new name: name, full_name: name } + end + formulae = ARGV.include?("--installed") ? Formula.installed : Formula recursive = ARGV.flag? "--recursive" includes = [] @@ -115,5 +124,6 @@ module Homebrew return if uses.empty? puts Formatter.columns(uses.map(&:full_name)) + odie "Missing formulae should not have dependents!" if used_formulae_missing end end