Port Homebrew::DevCmd::BumpCaskPr
This commit is contained in:
parent
ee0c967ce0
commit
ebc458a7fe
@ -1,6 +1,7 @@
|
||||
# typed: strict
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "abstract_command"
|
||||
require "bump_version_parser"
|
||||
require "cask"
|
||||
require "cask/download"
|
||||
@ -8,11 +9,9 @@ require "cli/parser"
|
||||
require "utils/tar"
|
||||
|
||||
module Homebrew
|
||||
module_function
|
||||
|
||||
sig { returns(CLI::Parser) }
|
||||
def bump_cask_pr_args
|
||||
Homebrew::CLI::Parser.new do
|
||||
module DevCmd
|
||||
class BumpCaskPr < AbstractCommand
|
||||
cmd_args do
|
||||
description <<~EOS
|
||||
Create a pull request to update <cask> with a new version.
|
||||
|
||||
@ -61,12 +60,9 @@ module Homebrew
|
||||
|
||||
named_args :cask, number: 1, without_api: true
|
||||
end
|
||||
end
|
||||
|
||||
sig { void }
|
||||
def bump_cask_pr
|
||||
args = bump_cask_pr_args.parse
|
||||
|
||||
sig { override.void }
|
||||
def run
|
||||
odeprecated "brew bump-cask-pr --online" if args.online?
|
||||
odisabled "brew bump-cask-pr --force" if args.force?
|
||||
|
||||
@ -123,7 +119,7 @@ module Homebrew
|
||||
raise UsageError, "No `--version`, `--url` or `--sha256` argument specified!"
|
||||
end
|
||||
|
||||
check_pull_requests(cask, args:, new_version:)
|
||||
check_pull_requests(cask, new_version:)
|
||||
|
||||
replacement_pairs ||= []
|
||||
branch_name = "bump-#{cask.token}"
|
||||
@ -166,8 +162,8 @@ module Homebrew
|
||||
read_only_run: args.dry_run?,
|
||||
silent: args.quiet?)
|
||||
|
||||
run_cask_audit(cask, old_contents, args:)
|
||||
run_cask_style(cask, old_contents, args:)
|
||||
run_cask_audit(cask, old_contents)
|
||||
run_cask_style(cask, old_contents)
|
||||
|
||||
pr_info = {
|
||||
branch_name:,
|
||||
@ -180,6 +176,8 @@ module Homebrew
|
||||
GitHub.create_bump_pr(pr_info, args:)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
sig { params(version: Cask::DSL::Version, cask: Cask::Cask).returns(Cask::DSL::Version) }
|
||||
def shortened_version(version, cask:)
|
||||
if version.before_comma == cask.version.before_comma
|
||||
@ -253,8 +251,8 @@ module Homebrew
|
||||
replacement_pairs
|
||||
end
|
||||
|
||||
sig { params(cask: Cask::Cask, args: CLI::Args, new_version: BumpVersionParser).void }
|
||||
def check_pull_requests(cask, args:, new_version:)
|
||||
sig { params(cask: Cask::Cask, new_version: BumpVersionParser).void }
|
||||
def check_pull_requests(cask, new_version:)
|
||||
tap_remote_repo = cask.tap.full_name || cask.tap.remote_repo
|
||||
|
||||
GitHub.check_for_duplicate_pull_requests(cask.token, tap_remote_repo,
|
||||
@ -279,8 +277,8 @@ module Homebrew
|
||||
end
|
||||
end
|
||||
|
||||
sig { params(cask: Cask::Cask, old_contents: String, args: T.untyped).void }
|
||||
def run_cask_audit(cask, old_contents, args:)
|
||||
sig { params(cask: Cask::Cask, old_contents: String).void }
|
||||
def run_cask_audit(cask, old_contents)
|
||||
if args.dry_run?
|
||||
if args.no_audit?
|
||||
ohai "Skipping `brew audit`"
|
||||
@ -302,8 +300,8 @@ module Homebrew
|
||||
odie "`brew audit` failed!"
|
||||
end
|
||||
|
||||
sig { params(cask: Cask::Cask, old_contents: String, args: T.untyped).void }
|
||||
def run_cask_style(cask, old_contents, args:)
|
||||
sig { params(cask: Cask::Cask, old_contents: String).void }
|
||||
def run_cask_style(cask, old_contents)
|
||||
if args.dry_run?
|
||||
if args.no_style?
|
||||
ohai "Skipping `brew style --fix`"
|
||||
@ -324,4 +322,6 @@ module Homebrew
|
||||
cask.sourcefile_path.atomic_write(old_contents)
|
||||
odie "`brew style --fix` failed!"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -3,6 +3,6 @@
|
||||
require "cmd/shared_examples/args_parse"
|
||||
require "dev-cmd/bump-cask-pr"
|
||||
|
||||
RSpec.describe "brew bump-cask-pr" do
|
||||
it_behaves_like "parseable arguments"
|
||||
RSpec.describe Homebrew::DevCmd::BumpCaskPr do
|
||||
it_behaves_like "parseable arguments", argv: ["foo"]
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user