adds an option to skip unversioned casks in outdated and upgrade command
This commit is contained in:
parent
b3d95b89e4
commit
057b3a3502
@ -113,16 +113,16 @@ module Cask
|
||||
@caskroom_path ||= Caskroom.path.join(token)
|
||||
end
|
||||
|
||||
def outdated?(greedy: false)
|
||||
!outdated_versions(greedy: greedy).empty?
|
||||
def outdated?(greedy: false, skip_unversioned: false)
|
||||
!outdated_versions(greedy: greedy, skip_unversioned: skip_unversioned).empty?
|
||||
end
|
||||
|
||||
def outdated_versions(greedy: false)
|
||||
def outdated_versions(greedy: false, skip_unversioned: false)
|
||||
# special case: tap version is not available
|
||||
return [] if version.nil?
|
||||
|
||||
if greedy
|
||||
return versions if version.latest?
|
||||
return versions if version.latest? && !skip_unversioned
|
||||
elsif auto_updates
|
||||
return []
|
||||
end
|
||||
@ -137,10 +137,10 @@ module Cask
|
||||
installed.reject { |v| v == version }
|
||||
end
|
||||
|
||||
def outdated_info(greedy, verbose, json)
|
||||
def outdated_info(greedy, verbose, json, skip_unversioned)
|
||||
return token if !verbose && !json
|
||||
|
||||
installed_versions = outdated_versions(greedy: greedy).join(", ")
|
||||
installed_versions = outdated_versions(greedy: greedy, skip_unversioned: skip_unversioned).join(", ")
|
||||
|
||||
if json
|
||||
{
|
||||
|
||||
@ -19,6 +19,9 @@ module Cask
|
||||
[:switch, "--greedy", {
|
||||
description: "Also include casks with `auto_updates true` or `version :latest`.",
|
||||
}],
|
||||
[:switch, "--skip-unversioned", {
|
||||
description: "Skip casks with `version :latest`.",
|
||||
}]
|
||||
].freeze
|
||||
|
||||
sig { returns(Homebrew::CLI::Parser) }
|
||||
@ -42,6 +45,7 @@ module Cask
|
||||
*casks,
|
||||
force: args.force?,
|
||||
greedy: args.greedy?,
|
||||
skip_unversioned: args.skip_unversioned?,
|
||||
dry_run: args.dry_run?,
|
||||
binaries: args.binaries?,
|
||||
quarantine: args.quarantine?,
|
||||
@ -58,6 +62,7 @@ module Cask
|
||||
args: Homebrew::CLI::Args,
|
||||
force: T.nilable(T::Boolean),
|
||||
greedy: T.nilable(T::Boolean),
|
||||
skip_unversioned: T.nilable(T::Boolean),
|
||||
dry_run: T.nilable(T::Boolean),
|
||||
skip_cask_deps: T.nilable(T::Boolean),
|
||||
verbose: T.nilable(T::Boolean),
|
||||
@ -71,6 +76,7 @@ module Cask
|
||||
args:,
|
||||
force: false,
|
||||
greedy: false,
|
||||
skip_unversioned: false,
|
||||
dry_run: false,
|
||||
skip_cask_deps: false,
|
||||
verbose: false,
|
||||
@ -83,7 +89,7 @@ module Cask
|
||||
|
||||
outdated_casks = if casks.empty?
|
||||
Caskroom.casks(config: Config.from_args(args)).select do |cask|
|
||||
cask.outdated?(greedy: greedy)
|
||||
cask.outdated?(greedy: greedy, skip_unversioned: args.skip_unversioned?)
|
||||
end
|
||||
else
|
||||
casks.select do |cask|
|
||||
|
||||
@ -38,6 +38,9 @@ module Homebrew
|
||||
switch "--greedy",
|
||||
description: "Print outdated casks with `auto_updates` or `version :latest`."
|
||||
|
||||
switch "--skip-unversioned",
|
||||
description: "Print outdated casks with `auto_updates` but no `version :latest`."
|
||||
|
||||
conflicts "--quiet", "--verbose", "--json"
|
||||
conflicts "--formula", "--cask"
|
||||
|
||||
@ -116,7 +119,7 @@ module Homebrew
|
||||
else
|
||||
c = formula_or_cask
|
||||
|
||||
puts c.outdated_info(args.greedy?, verbose?, false)
|
||||
puts c.outdated_info(args.greedy?, verbose?, false, args.skip_unversioned?)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -191,7 +194,7 @@ module Homebrew
|
||||
if formula_or_cask.is_a?(Formula)
|
||||
formula_or_cask.outdated?(fetch_head: args.fetch_HEAD?)
|
||||
else
|
||||
formula_or_cask.outdated?(greedy: args.greedy?)
|
||||
formula_or_cask.outdated?(greedy: args.greedy?, skip_unversioned: args.skip_unversioned?)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user