Skip discontinued, latest and unversioned casks.

This commit is contained in:
Markus Reiter 2020-12-13 17:09:25 +01:00 committed by Sam Ford
parent aba4eac8ab
commit 1857e0ebfa
No known key found for this signature in database
GPG Key ID: 95209E46C7FFDEFE

View File

@ -269,6 +269,7 @@ module Homebrew
# @return [Hash, nil, Boolean] # @return [Hash, nil, Boolean]
def skip_conditions(formula_or_cask, json: false, full_name: false, quiet: false, verbose: false) def skip_conditions(formula_or_cask, json: false, full_name: false, quiet: false, verbose: false)
formula = formula_or_cask if formula_or_cask.is_a?(Formula) formula = formula_or_cask if formula_or_cask.is_a?(Formula)
cask = formula_or_cask if formula_or_cask.is_a?(Cask::Cask)
if formula&.deprecated? && !formula.livecheckable? if formula&.deprecated? && !formula.livecheckable?
return status_hash(formula, "deprecated", full_name: full_name, verbose: verbose) if json return status_hash(formula, "deprecated", full_name: full_name, verbose: verbose) if json
@ -277,6 +278,13 @@ module Homebrew
return return
end end
if cask&.discontinued? && !cask.livecheckable?
return status_hash(cask, "discontinued", args: args) if args.json?
puts "#{Tty.red}#{cask_name(cask, args: args)}#{Tty.reset} : discontinued" unless args.quiet?
return
end
if formula&.disabled? && !formula.livecheckable? if formula&.disabled? && !formula.livecheckable?
return status_hash(formula, "disabled", full_name: full_name, verbose: verbose) if json return status_hash(formula, "disabled", full_name: full_name, verbose: verbose) if json
@ -291,6 +299,20 @@ module Homebrew
return return
end end
if cask&.version&.latest? && !cask.livecheckable?
return status_hash(cask, "latest", args: args) if args.json?
puts "#{Tty.red}#{cask_name(cask, args: args)}#{Tty.reset} : latest" unless args.quiet?
return
end
if cask&.url&.unversioned? && !cask.livecheckable?
return status_hash(cask, "unversioned", args: args) if args.json?
puts "#{Tty.red}#{cask_name(cask, args: args)}#{Tty.reset} : unversioned" unless args.quiet?
return
end
if formula&.head_only? && !formula.any_version_installed? if formula&.head_only? && !formula.any_version_installed?
head_only_msg = "HEAD only formula must be installed to be livecheckable" head_only_msg = "HEAD only formula must be installed to be livecheckable"
return status_hash(formula, "error", [head_only_msg], full_name: full_name, verbose: verbose) if json return status_hash(formula, "error", [head_only_msg], full_name: full_name, verbose: verbose) if json