From 1857e0ebfac0a9d8f62b71362e64a23b1bc590a1 Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Sun, 13 Dec 2020 17:09:25 +0100 Subject: [PATCH] Skip discontinued, latest and unversioned casks. --- Library/Homebrew/livecheck/livecheck.rb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Library/Homebrew/livecheck/livecheck.rb b/Library/Homebrew/livecheck/livecheck.rb index 1b31956e1a..8af477178a 100644 --- a/Library/Homebrew/livecheck/livecheck.rb +++ b/Library/Homebrew/livecheck/livecheck.rb @@ -269,6 +269,7 @@ module Homebrew # @return [Hash, nil, Boolean] 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) + cask = formula_or_cask if formula_or_cask.is_a?(Cask::Cask) if formula&.deprecated? && !formula.livecheckable? return status_hash(formula, "deprecated", full_name: full_name, verbose: verbose) if json @@ -277,6 +278,13 @@ module Homebrew return 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? return status_hash(formula, "disabled", full_name: full_name, verbose: verbose) if json @@ -291,6 +299,20 @@ module Homebrew return 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? 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