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

Allow passing individual casks to `bump-unversioned-casks` for debugging.

parent 05b49619
No related branches found
No related tags found
No related merge requests found
......@@ -129,13 +129,21 @@ module Homebrew
# Keep existing paths and try to convert others to tap, formula or cask paths.
# If a cask and formula with the same name exist, includes both their paths
# unless `only` is specified.
def to_paths(only: nil)
sig { params(only: T.nilable(Symbol), recurse_tap: T::Boolean).returns(T::Array[Pathname]) }
def to_paths(only: nil, recurse_tap: false)
@to_paths ||= {}
@to_paths[only] ||= downcased_unique_named.flat_map do |name|
if File.exist?(name)
Pathname(name)
elsif name.count("/") == 1 && !name.start_with?("./", "/")
Tap.fetch(name).path
tap = Tap.fetch(name)
if recurse_tap
next tap.formula_files if only == :formula
next tap.cask_files if only == :cask
end
tap.path
else
next Formulary.path(name) if only == :formula
next Cask::CaskLoader.path(name) if only == :cask
......
......@@ -17,7 +17,7 @@ module Homebrew
def self.bump_unversioned_casks_args
Homebrew::CLI::Parser.new do
usage_banner <<~EOS
`bump-unversioned-casks` [<options>] [<tap>]
`bump-unversioned-casks` [<options>] [<cask>|<tap>]
Check all casks with unversioned URLs in a given <tap> for updates.
EOS
......@@ -28,7 +28,7 @@ module Homebrew
flag "--state-file=",
description: "File for caching state."
named 1
min_named 1
end
end
......@@ -43,11 +43,10 @@ module Homebrew
end
state_file.dirname.mkpath
tap = Tap.fetch(args.named.first)
state = state_file.exist? ? JSON.parse(state_file.read) : {}
cask_files = tap.cask_files
cask_files = args.named.to_paths(only: :cask, recurse_tap: true)
unversioned_cask_files = cask_files.select do |cask_file|
url = cask_file.each_line do |line|
url = line[/\s*url\s+"([^"]+)"\s*/, 1]
......@@ -59,7 +58,7 @@ module Homebrew
unversioned_casks = unversioned_cask_files.map { |path| Cask::CaskLoader.load(path) }
ohai "Unversioned Casks: #{unversioned_casks.count}"
ohai "Unversioned Casks: #{unversioned_casks.count} (#{state.size} cached)"
checked, unchecked = unversioned_casks.partition { |c| state.key?(c.full_name) }
......
......@@ -899,7 +899,7 @@ present, "revision 1" will be added.
* `--message`:
Append *`message`* to the default commit message.
### `bump-unversioned-casks` [*`options`*] [*`tap`*]
### `bump-unversioned-casks` [*`options`*] [*`cask`*|*`tap`*]
Check all casks with unversioned URLs in a given *`tap`* for updates.
......
......@@ -1245,7 +1245,7 @@ Print what would be done rather than doing it\.
\fB\-\-message\fR
Append \fImessage\fR to the default commit message\.
.
.SS "\fBbump\-unversioned\-casks\fR [\fIoptions\fR] [\fItap\fR]"
.SS "\fBbump\-unversioned\-casks\fR [\fIoptions\fR] [\fIcask\fR|\fItap\fR]"
Check all casks with unversioned URLs in a given \fItap\fR for updates\.
.
.TP
......
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