After brew style --fix for livecheck command
This commit is contained in:
parent
4a9942d7fc
commit
0b5a68ca9b
@ -159,15 +159,15 @@ module Homebrew
|
|||||||
# `formulae_and_casks_to_check` array and prints the results.
|
# `formulae_and_casks_to_check` array and prints the results.
|
||||||
sig {
|
sig {
|
||||||
params(
|
params(
|
||||||
formulae_and_casks_to_check: T::Array[T.any(Formula, Cask::Cask)],
|
formulae_and_casks_to_check: T::Array[T.any(Formula, Cask::Cask)],
|
||||||
full_name: T::Boolean,
|
full_name: T::Boolean,
|
||||||
handle_name_conflict: T::Boolean,
|
handle_name_conflict: T::Boolean,
|
||||||
check_resources: T::Boolean,
|
check_resources: T::Boolean,
|
||||||
json: T::Boolean,
|
json: T::Boolean,
|
||||||
newer_only: T::Boolean,
|
newer_only: T::Boolean,
|
||||||
debug: T::Boolean,
|
debug: T::Boolean,
|
||||||
quiet: T::Boolean,
|
quiet: T::Boolean,
|
||||||
verbose: T::Boolean,
|
verbose: T::Boolean,
|
||||||
).void
|
).void
|
||||||
}
|
}
|
||||||
def run_checks(
|
def run_checks(
|
||||||
@ -291,23 +291,25 @@ module Homebrew
|
|||||||
# Only check current and latest versions if we have resources to check against
|
# Only check current and latest versions if we have resources to check against
|
||||||
if has_resources
|
if has_resources
|
||||||
|
|
||||||
current_resources = formula_or_cask.resources.map { |resource| { name: resource.name, version: resource.version, livecheckable: resource.livecheckable? } }
|
current_resources = formula_or_cask.resources.map do |resource|
|
||||||
|
{ name: resource.name, version: resource.version, livecheckable: resource.livecheckable? }
|
||||||
|
end
|
||||||
|
|
||||||
resource_version_info = resource_version(
|
resource_version_info = resource_version(
|
||||||
formula_or_cask,
|
formula_or_cask,
|
||||||
json: json,
|
json: json,
|
||||||
full_name: use_full_name,
|
full_name: use_full_name,
|
||||||
verbose: verbose,
|
verbose: verbose,
|
||||||
debug: debug
|
debug: debug,
|
||||||
)
|
)
|
||||||
|
|
||||||
latest_resources = resource_version_info.map { |resource| { name: resource[:resource], version: resource[:version][:latest] } }
|
latest_resources = resource_version_info.map do |resource|
|
||||||
|
{ name: resource[:resource], version: resource[:version][:latest] }
|
||||||
else
|
|
||||||
# In case we don't have any resources for that Formula/Cask
|
|
||||||
if debug || verbose
|
|
||||||
onoe "No resources to check for '#{formula_or_cask_name(formula_or_cask, full_name: full_name)}'"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
elsif debug || verbose
|
||||||
|
# In case we don't have any resources for that Formula/Cask
|
||||||
|
onoe "No resources to check for '#{formula_or_cask_name(formula_or_cask, full_name: full_name)}'"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -368,7 +370,7 @@ module Homebrew
|
|||||||
if check_resources && has_resources && debug
|
if check_resources && has_resources && debug
|
||||||
puts <<~EOS
|
puts <<~EOS
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
@ -377,11 +379,11 @@ module Homebrew
|
|||||||
if check_resources && has_resources
|
if check_resources && has_resources
|
||||||
resources_info = []
|
resources_info = []
|
||||||
latest_resources_names = latest_resources.map { |r| r[:name] }
|
latest_resources_names = latest_resources.map { |r| r[:name] }
|
||||||
current_resources.each_with_index do |resource, i|
|
current_resources.each_with_index do |resource, _i|
|
||||||
current = resource[:version]
|
current = resource[:version]
|
||||||
current_str = current.to_s
|
current_str = current.to_s
|
||||||
latest = if latest_resources_names.include?(resource[:name].to_s)
|
latest = if latest_resources_names.include?(resource[:name].to_s)
|
||||||
res = latest_resources.detect { |r| r[:name].to_s == resource[:name].to_s }
|
res = latest_resources.find { |r| r[:name].to_s == resource[:name].to_s }
|
||||||
res[:version]
|
res[:version]
|
||||||
else
|
else
|
||||||
current
|
current
|
||||||
@ -398,11 +400,12 @@ module Homebrew
|
|||||||
current: current_str,
|
current: current_str,
|
||||||
latest: latest_str,
|
latest: latest_str,
|
||||||
newer_than_upstream: is_newer_than_upstream,
|
newer_than_upstream: is_newer_than_upstream,
|
||||||
outdated: is_outdated,
|
outdated: is_outdated,
|
||||||
}
|
}
|
||||||
resources_info << info
|
resources_info << info
|
||||||
end
|
end
|
||||||
print_latest_resource_version(resources_info, verbose: verbose, ambiguous_cask: ambiguous_casks.include?(formula_or_cask))
|
print_latest_resource_version(resources_info, verbose: verbose,
|
||||||
|
ambiguous_cask: ambiguous_casks.include?(formula_or_cask))
|
||||||
end
|
end
|
||||||
|
|
||||||
nil
|
nil
|
||||||
@ -476,10 +479,10 @@ module Homebrew
|
|||||||
sig {
|
sig {
|
||||||
params(
|
params(
|
||||||
package_or_resource: T.any(Formula, Cask::Cask, Resource),
|
package_or_resource: T.any(Formula, Cask::Cask, Resource),
|
||||||
status_str: String,
|
status_str: String,
|
||||||
messages: T.nilable(T::Array[String]),
|
messages: T.nilable(T::Array[String]),
|
||||||
full_name: T::Boolean,
|
full_name: T::Boolean,
|
||||||
verbose: T::Boolean,
|
verbose: T::Boolean,
|
||||||
).returns(Hash)
|
).returns(Hash)
|
||||||
}
|
}
|
||||||
def status_hash(package_or_resource, status_str, messages = nil, full_name: false, verbose: false)
|
def status_hash(package_or_resource, status_str, messages = nil, full_name: false, verbose: false)
|
||||||
@ -509,7 +512,7 @@ module Homebrew
|
|||||||
# Formats and prints the livecheck result for a resource (for a given Formula or Cask).
|
# Formats and prints the livecheck result for a resource (for a given Formula or Cask).
|
||||||
sig { params(resources_info: Array(Hash), verbose: T::Boolean, ambiguous_cask: T::Boolean).void }
|
sig { params(resources_info: Array(Hash), verbose: T::Boolean, ambiguous_cask: T::Boolean).void }
|
||||||
def print_latest_resource_version(resources_info, verbose:, ambiguous_cask: false)
|
def print_latest_resource_version(resources_info, verbose:, ambiguous_cask: false)
|
||||||
resources_info.each_with_index do |info, i|
|
resources_info.each_with_index do |info, _i|
|
||||||
resource_s = "#{Tty.blue}#{info[:resource]}#{Tty.reset}"
|
resource_s = "#{Tty.blue}#{info[:resource]}#{Tty.reset}"
|
||||||
resource_s += " (livecheckable)" if info[:livecheckable] && verbose
|
resource_s += " (livecheckable)" if info[:livecheckable] && verbose
|
||||||
|
|
||||||
@ -553,7 +556,7 @@ module Homebrew
|
|||||||
|
|
||||||
sig {
|
sig {
|
||||||
params(
|
params(
|
||||||
livecheck_url: T.any(String, Symbol),
|
livecheck_url: T.any(String, Symbol),
|
||||||
package_or_resource: T.any(Formula, Cask::Cask, Resource),
|
package_or_resource: T.any(Formula, Cask::Cask, Resource),
|
||||||
).returns(T.nilable(String))
|
).returns(T.nilable(String))
|
||||||
}
|
}
|
||||||
@ -673,14 +676,15 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
# Identifies the latest version of the resources in a given Formulae/Casks and returns an Array of Hash containing
|
# Identifies the latest version of the resources in a given Formulae/Casks and returns an Array of Hash containing
|
||||||
# the version information for all the resources. Returns an Array with nil value if a latest version couldn't be found for a given resource.
|
# the version information for all the resources. Returns an Array with nil value if a latest version
|
||||||
|
# couldn't be found for a given resource.
|
||||||
sig {
|
sig {
|
||||||
params(
|
params(
|
||||||
formula_or_cask: T.any(Formula, Cask::Cask),
|
formula_or_cask: T.any(Formula, Cask::Cask),
|
||||||
json: T::Boolean,
|
json: T::Boolean,
|
||||||
full_name: T::Boolean,
|
full_name: T::Boolean,
|
||||||
verbose: T::Boolean,
|
verbose: T::Boolean,
|
||||||
debug: T::Boolean,
|
debug: T::Boolean,
|
||||||
).returns(Array(T.nilable(Hash)))
|
).returns(Array(T.nilable(Hash)))
|
||||||
}
|
}
|
||||||
def resource_version(
|
def resource_version(
|
||||||
@ -691,13 +695,13 @@ module Homebrew
|
|||||||
debug: false
|
debug: false
|
||||||
)
|
)
|
||||||
resources_version = []
|
resources_version = []
|
||||||
formula_or_cask.resources.each_with_index do |resource, i|
|
formula_or_cask.resources.each do |resource|
|
||||||
has_livecheckable = resource.livecheckable?
|
has_livecheckable = resource.livecheckable?
|
||||||
|
|
||||||
if debug
|
if debug
|
||||||
puts <<~EOS
|
puts <<~EOS
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
EOS
|
EOS
|
||||||
odebug "Resource: #{resource_name(resource, full_name: full_name)}"
|
odebug "Resource: #{resource_name(resource, full_name: full_name)}"
|
||||||
@ -706,7 +710,7 @@ module Homebrew
|
|||||||
|
|
||||||
resource_version_info = {
|
resource_version_info = {
|
||||||
resource: resource_name(resource, full_name: full_name),
|
resource: resource_name(resource, full_name: full_name),
|
||||||
version: {
|
version: {
|
||||||
current: resource.version,
|
current: resource.version,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -774,21 +778,17 @@ module Homebrew
|
|||||||
next
|
next
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
next if strategy.blank?
|
next if strategy.blank?
|
||||||
|
|
||||||
homebrew_curl = case strategy_name
|
homebrew_curl = case strategy_name
|
||||||
when "PageMatch", "HeaderMatch"
|
when "PageMatch", "HeaderMatch"
|
||||||
use_homebrew_curl?(resource, url)
|
use_homebrew_curl?(resource, url)
|
||||||
end
|
end
|
||||||
puts "Homebrew curl?: Yes" if debug && homebrew_curl.present?
|
puts "Homebrew curl?: Yes" if debug && homebrew_curl.present?
|
||||||
|
|
||||||
strategy_data = strategy.find_versions(
|
strategy_data = strategy.find_versions(
|
||||||
url: url,
|
url: url, regex: livecheck_regex,
|
||||||
regex: livecheck_regex,
|
homebrew_curl: homebrew_curl, &livecheck_strategy_block
|
||||||
homebrew_curl: homebrew_curl,
|
|
||||||
&livecheck_strategy_block
|
|
||||||
)
|
)
|
||||||
|
|
||||||
match_version_map = strategy_data[:matches]
|
match_version_map = strategy_data[:matches]
|
||||||
regex = strategy_data[:regex]
|
regex = strategy_data[:regex]
|
||||||
messages = strategy_data[:messages]
|
messages = strategy_data[:messages]
|
||||||
@ -836,32 +836,46 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
resource_version_info[:version][:latest] = Version.new(match_version_map.values.max_by { |v| LivecheckVersion.create(resource, v) })
|
resource_version_info[:version][:latest] = Version.new(match_version_map.values.max_by do |v|
|
||||||
|
LivecheckVersion.create(resource, v)
|
||||||
|
end)
|
||||||
|
|
||||||
if json && verbose
|
next unless json && verbose
|
||||||
resource_version_info[:meta] = {}
|
|
||||||
resource_version_info[:meta][:livecheckable] = has_livecheckable ? "Yes" : "No"
|
|
||||||
if has_livecheckable
|
|
||||||
resource_version_info[:meta][:livecheck] = {}
|
|
||||||
resource_version_info[:meta][:livecheck][:url] = {}
|
|
||||||
resource_version_info[:meta][:livecheck][:url][:symbol] = livecheck_url if livecheck_url.is_a?(Symbol) && livecheck_url_string
|
|
||||||
if strategy_data[:url].present? && strategy_data[:url] != url
|
|
||||||
resource_version_info[:meta][:livecheck][:url][:strategy] = strategy_data[:url]
|
|
||||||
end
|
|
||||||
resource_version_info[:meta][:livecheck][:url][:final] = strategy_data[:final_url] if strategy_data[:final_url]
|
|
||||||
resource_version_info[:meta][:livecheck][:url][:homebrew_curl] = homebrew_curl if homebrew_curl.present?
|
|
||||||
resource_version_info[:meta][:livecheck][:strategy] = strategy.present? ? strategy_name : nil
|
|
||||||
resource_version_info[:meta][:livecheck][:strategies] = strategies.map { |s| livecheck_strategy_names[s] } if strategies.present?
|
|
||||||
resource_version_info[:meta][:livecheck][:regex] = regex.inspect if regex.present?
|
|
||||||
resource_version_info[:meta][:livecheck][:cached] = true if strategy_data[:cached] == true
|
|
||||||
|
|
||||||
|
resource_version_info[:meta] = {}
|
||||||
|
resource_version_info[:meta][:livecheckable] = has_livecheckable ? "Yes" : "No"
|
||||||
|
if has_livecheckable
|
||||||
|
resource_version_info[:meta][:livecheck] = {}
|
||||||
|
resource_version_info[:meta][:livecheck][:url] = {}
|
||||||
|
if livecheck_url.is_a?(Symbol) && livecheck_url_string
|
||||||
|
resource_version_info[:meta][:livecheck][:url][:symbol] =
|
||||||
|
livecheck_url
|
||||||
end
|
end
|
||||||
resource_version_info[:meta][:url] = {}
|
if strategy_data[:url].present? && strategy_data[:url] != url
|
||||||
resource_version_info[:meta][:url][:original] = original_url
|
resource_version_info[:meta][:livecheck][:url][:strategy] = strategy_data[:url]
|
||||||
resource_version_info[:meta][:url][:processed] = url if url != original_url
|
end
|
||||||
|
if strategy_data[:final_url]
|
||||||
|
resource_version_info[:meta][:livecheck][:url][:final] =
|
||||||
|
strategy_data[:final_url]
|
||||||
|
end
|
||||||
|
if homebrew_curl.present?
|
||||||
|
resource_version_info[:meta][:livecheck][:url][:homebrew_curl] =
|
||||||
|
homebrew_curl
|
||||||
|
end
|
||||||
|
resource_version_info[:meta][:livecheck][:strategy] = strategy.present? ? strategy_name : nil
|
||||||
|
if strategies.present?
|
||||||
|
resource_version_info[:meta][:livecheck][:strategies] = strategies.map do |s|
|
||||||
|
livecheck_strategy_names[s]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
resource_version_info[:meta][:livecheck][:regex] = regex.inspect if regex.present?
|
||||||
|
resource_version_info[:meta][:livecheck][:cached] = true if strategy_data[:cached] == true
|
||||||
|
|
||||||
end
|
end
|
||||||
|
resource_version_info[:meta][:url] = {}
|
||||||
|
resource_version_info[:meta][:url][:original] = original_url
|
||||||
|
resource_version_info[:meta][:url][:processed] = url if url != original_url
|
||||||
end
|
end
|
||||||
resources_version << resource_version_info
|
|
||||||
else
|
else
|
||||||
# If there's no livecheck block in resource
|
# If there's no livecheck block in resource
|
||||||
resource_version_info[:version][:latest] = resource.version
|
resource_version_info[:version][:latest] = resource.version
|
||||||
@ -869,8 +883,8 @@ module Homebrew
|
|||||||
resource_version_info[:meta] = {}
|
resource_version_info[:meta] = {}
|
||||||
resource_version_info[:meta][:url] = resource.url.to_s
|
resource_version_info[:meta][:url] = resource.url.to_s
|
||||||
end
|
end
|
||||||
resources_version << resource_version_info
|
|
||||||
end
|
end
|
||||||
|
resources_version << resource_version_info
|
||||||
end
|
end
|
||||||
resources_version
|
resources_version
|
||||||
end
|
end
|
||||||
|
|||||||
@ -11,7 +11,9 @@ module Homebrew
|
|||||||
|
|
||||||
include Comparable
|
include Comparable
|
||||||
|
|
||||||
sig { params(package_or_resource: T.any(Formula, Cask::Cask, Resource), version: Version).returns(LivecheckVersion) }
|
sig {
|
||||||
|
params(package_or_resource: T.any(Formula, Cask::Cask, Resource), version: Version).returns(LivecheckVersion)
|
||||||
|
}
|
||||||
def self.create(package_or_resource, version)
|
def self.create(package_or_resource, version)
|
||||||
versions = case package_or_resource
|
versions = case package_or_resource
|
||||||
when Resource
|
when Resource
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user