Port Homebrew::DevCmd::BumpUnversionedCask
This commit is contained in:
parent
1097496a06
commit
c70dc040c6
@ -1,4 +1,4 @@
|
||||
# typed: true
|
||||
# typed: strict
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "timeout"
|
||||
@ -11,11 +11,11 @@ require "tap"
|
||||
require "unversioned_cask_checker"
|
||||
|
||||
module Homebrew
|
||||
extend SystemCommand::Mixin
|
||||
module DevCmd
|
||||
class BumpUnversionedCask < AbstractCommand
|
||||
include SystemCommand::Mixin
|
||||
|
||||
sig { returns(CLI::Parser) }
|
||||
def self.bump_unversioned_casks_args
|
||||
Homebrew::CLI::Parser.new do
|
||||
cmd_args do
|
||||
description <<~EOS
|
||||
Check all casks with unversioned URLs in a given <tap> for updates.
|
||||
EOS
|
||||
@ -28,16 +28,13 @@ module Homebrew
|
||||
|
||||
named_args [:cask, :tap], min: 1, without_api: true
|
||||
end
|
||||
end
|
||||
|
||||
sig { void }
|
||||
def self.bump_unversioned_casks
|
||||
args = bump_unversioned_casks_args.parse
|
||||
|
||||
sig { override.void }
|
||||
def run
|
||||
Homebrew.install_bundler_gems!(groups: ["bump_unversioned_casks"])
|
||||
|
||||
state_file = if args.state_file.present?
|
||||
Pathname(args.state_file).expand_path
|
||||
Pathname(T.must(args.state_file)).expand_path
|
||||
else
|
||||
HOMEBREW_CACHE/"bump_unversioned_casks.json"
|
||||
end
|
||||
@ -75,7 +72,7 @@ module Homebrew
|
||||
|
||||
key = cask.full_name
|
||||
|
||||
new_state = bump_unversioned_cask(cask, state: state.fetch(key, {}), dry_run: args.dry_run?)
|
||||
new_state = bump_unversioned_cask(cask, state: state.fetch(key, {}))
|
||||
|
||||
next unless new_state
|
||||
|
||||
@ -85,11 +82,13 @@ module Homebrew
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
sig {
|
||||
params(cask: Cask::Cask, state: T::Hash[String, T.untyped], dry_run: T.nilable(T::Boolean))
|
||||
params(cask: Cask::Cask, state: T::Hash[String, T.untyped])
|
||||
.returns(T.nilable(T::Hash[String, T.untyped]))
|
||||
}
|
||||
def self.bump_unversioned_cask(cask, state:, dry_run:)
|
||||
def bump_unversioned_cask(cask, state:)
|
||||
ohai "Checking #{cask.full_name}"
|
||||
|
||||
unversioned_cask_checker = UnversionedCaskChecker.new(cask)
|
||||
@ -150,7 +149,7 @@ module Homebrew
|
||||
cask.sourcefile_path
|
||||
]
|
||||
|
||||
if dry_run
|
||||
if args.dry_run?
|
||||
bump_cask_pr_args << "--dry-run"
|
||||
oh1 "Would bump #{cask} from #{cask.version} to #{version}"
|
||||
else
|
||||
@ -175,3 +174,5 @@ module Homebrew
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -1,7 +1,8 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "cmd/shared_examples/args_parse"
|
||||
require "dev-cmd/bump-unversioned-casks"
|
||||
|
||||
RSpec.describe "brew bump-unversioned-casks" do
|
||||
it_behaves_like "parseable arguments"
|
||||
RSpec.describe Homebrew::DevCmd::BumpUnversionedCask do
|
||||
it_behaves_like "parseable arguments", argv: ["foo"]
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user