Skip to content
Snippets Groups Projects
Commit 3ee66d8c authored by Markus Reiter's avatar Markus Reiter
Browse files

Add type annotations related to upgrade.

parent 7893d316
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:,
......
......@@ -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
......
......@@ -92,6 +92,7 @@ module Homebrew
end
end
sig { void }
def upgrade
args = upgrade_args.parse
......@@ -109,6 +110,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?
......@@ -176,6 +178,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