Skip to content
Snippets Groups Projects
Unverified Commit 9f458142 authored by Markus Reiter's avatar Markus Reiter Committed by GitHub
Browse files

Merge pull request #9146 from reitermarkus/upgrade

Mention `--greedy` when no casks were upgraded.
parents 218d3e2f 3ee66d8c
No related branches found
No related tags found
No related merge requests found
......@@ -69,7 +69,7 @@ Naming/HeredocDelimiterNaming:
Naming/MethodName:
IgnoredPatterns:
- '\AHEAD\?\Z'
- '\A(fetch_)?HEAD\?\Z'
# Allow dashes in filenames.
Naming/FileName:
......
......@@ -8,6 +8,8 @@ module Cask
#
# @api private
module Caskroom
extend T::Sig
module_function
def path
......@@ -30,6 +32,7 @@ module Cask
SystemCommand.run("/usr/bin/chgrp", args: ["admin", path], sudo: sudo)
end
sig { params(config: Config).returns(T::Array[Cask]) }
def casks(config: nil)
return [] unless path.exist?
......
......@@ -26,6 +26,7 @@ module Cask
}],
].freeze
sig { returns(Homebrew::CLI::Parser) }
def self.parser
super do
switch "--force",
......@@ -56,6 +57,20 @@ module Cask
)
end
sig do
params(
casks: Cask,
args: Homebrew::CLI::Args,
force: T.nilable(T::Boolean),
greedy: T.nilable(T::Boolean),
dry_run: T.nilable(T::Boolean),
skip_cask_deps: T.nilable(T::Boolean),
verbose: T.nilable(T::Boolean),
binaries: T.nilable(T::Boolean),
quarantine: T.nilable(T::Boolean),
require_sha: T.nilable(T::Boolean),
).void
end
def self.upgrade_casks(
*casks,
args:,
......@@ -85,7 +100,9 @@ module Cask
return if outdated_casks.empty?
ohai "Casks with `auto_updates` or `version :latest` will not be upgraded" if casks.empty? && !greedy
if casks.empty? && !greedy
ohai "Casks with `auto_updates` or `version :latest` will not be upgraded; pass `--greedy` to upgrade them."
end
verb = dry_run ? "Would upgrade" : "Upgrading"
oh1 "#{verb} #{outdated_casks.count} #{"outdated package".pluralize(outdated_casks.count)}:"
......
......@@ -24,7 +24,7 @@ module Homebrew
# Can set these because they will be overwritten by freeze_named_args!
# (whereas other values below will only be overwritten if passed).
self[:named_args] = NamedArgs.new(parent: self)
self[:named] = NamedArgs.new(parent: self)
self[:remaining] = []
end
......@@ -33,7 +33,7 @@ module Homebrew
end
def freeze_named_args!(named_args)
self[:named_args] = NamedArgs.new(
self[:named] = NamedArgs.new(
*named_args.freeze,
override_spec: spec(nil),
force_bottle: force_bottle?,
......@@ -53,8 +53,9 @@ module Homebrew
@flags_only = cli_args.select { |a| a.start_with?("--") }.freeze
end
sig { returns(NamedArgs) }
def named
named_args
self[:named]
end
def no_named?
......
......@@ -3,27 +3,62 @@
module Homebrew
module CLI
class Args < OpenStruct
sig { returns(T.nilable(T::Boolean)) }
def devel?; end
sig { returns(T.nilable(T::Boolean)) }
def HEAD?; end
sig { returns(T.nilable(T::Boolean)) }
def include_test?; end
sig { returns(T.nilable(T::Boolean)) }
def build_bottle?; end
sig { returns(T.nilable(T::Boolean)) }
def build_universal?; end
sig { returns(T.nilable(T::Boolean)) }
def build_from_source?; end
def named_args; end
sig { returns(T.nilable(T::Boolean)) }
def force_bottle?; end
sig { returns(T.nilable(T::Boolean)) }
def debug?; end
sig { returns(T.nilable(T::Boolean)) }
def quiet?; end
sig { returns(T.nilable(T::Boolean)) }
def verbose?; end
sig { returns(T.nilable(T::Boolean)) }
def fetch_HEAD?; end
sig { returns(T.nilable(T::Boolean)) }
def cask?; end
sig { returns(T.nilable(T::Boolean)) }
def dry_run?; end
sig { returns(T.nilable(T::Boolean)) }
def skip_cask_deps?; end
sig { returns(T.nilable(T::Boolean)) }
def greedy?; end
sig { returns(T.nilable(T::Boolean)) }
def force?; end
sig { returns(T.nilable(T::Boolean)) }
def ignore_pinned?; end
sig { returns(T.nilable(T::Boolean)) }
def display_times?; end
sig { returns(T.nilable(T::Boolean)) }
def formula?; end
end
end
end
......@@ -13,7 +13,7 @@ module Homebrew
# Helper class for loading formulae/casks from named arguments.
#
# @api private
class NamedArgs < SimpleDelegator
class NamedArgs < Array
def initialize(*args, parent: Args.new, override_spec: nil, force_bottle: false, flags: [])
@args = args
@override_spec = override_spec
......
......@@ -91,6 +91,7 @@ module Homebrew
end
end
sig { void }
def upgrade
args = upgrade_args.parse
......@@ -108,6 +109,7 @@ module Homebrew
upgrade_outdated_casks(casks, args: args) unless upgrade_formulae
end
sig { params(formulae: T::Array[Formula], args: CLI::Args).void }
def upgrade_outdated_formulae(formulae, args:)
return if args.cask?
......@@ -175,6 +177,7 @@ module Homebrew
Homebrew.messages.display_messages(display_times: args.display_times?)
end
sig { params(casks: T::Array[Cask::Cask], args: CLI::Args).void }
def upgrade_outdated_casks(casks, args:)
return if args.formula?
......
......@@ -62,7 +62,7 @@ describe Homebrew::CLI::Parser do
it "passes through invalid options" do
args = parser.parse(["-v", "named-arg", "--not-a-valid-option"], ignore_invalid_options: true)
expect(args.remaining).to eq ["named-arg", "--not-a-valid-option"]
expect(args.named_args).to be_empty
expect(args.named).to be_empty
end
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment