diff --git a/Library/Homebrew/utils/livecheck.rb b/Library/Homebrew/utils/livecheck.rb index 4306793ac2..045006553a 100644 --- a/Library/Homebrew/utils/livecheck.rb +++ b/Library/Homebrew/utils/livecheck.rb @@ -4,13 +4,8 @@ require "open3" module Livecheck def livecheck_formula_response(formula_name) - ohai "- livecheck formula : #{formula_name}" - command_args = [ - "brew", - "livecheck", - formula_name, - "--quiet", - ] + ohai "Checking livecheck formula : #{formula_name}" + command_args = ["brew", "livecheck", formula_name, "--quiet"] response = Open3.capture2e(*command_args) parse_livecheck_response(response) @@ -22,7 +17,10 @@ module Livecheck # eg: ["burp", "2.2.18", "2.2.18"] package_name, brew_version, latest_version = output - { "name" => package_name, "current_brew_version" => brew_version, - "livecheck_latest_version" => latest_version } + { + name: package_name, + formula_version: brew_version, + livecheck_version: latest_version, + } end end diff --git a/Library/Homebrew/utils/repology.rb b/Library/Homebrew/utils/repology.rb index 0186d3da33..b5770013e7 100644 --- a/Library/Homebrew/utils/repology.rb +++ b/Library/Homebrew/utils/repology.rb @@ -6,34 +6,35 @@ require "formula_info" module RepologyParser module_function + MAX_PAGE_LIMIT = 15 + def query_api(last_package_in_response = "") - url = "https://repology.org/api/v1/projects/#{last_package_in_response}?inrepo=homebrew&outdated=1" + url = "https://repology.org/api/v1/projects/#{last_package_in_response}/?inrepo=homebrew&outdated=1" ohai "Calling API #{url}" if Homebrew.args.verbose? - output, errors, status = curl_output(url.to_s) - output = JSON.parse(output) + output, _errors, _status = curl_output(url.to_s) + JSON.parse(output) end - def parse_api_response() + def parse_api_response ohai "Querying outdated packages from Repology" page_no = 1 - ohai "Paginating repology api page: #{page_no}" if Homebrew.args.verbose? + ohai "Paginating Repology api page: #{page_no}" if Homebrew.args.verbose? - outdated_packages = query_api() - last_pacakge_index = outdated_packages.size - 1 + outdated_packages = query_api + last_package_index = outdated_packages.size - 1 response_size = outdated_packages.size - page_limit = 15 - while response_size > 1 && page_no <= page_limit + while response_size > 1 && page_no <= MAX_PAGE_LIMIT page_no += 1 - ohai "Paginating repology api page: #{page_no}" if Homebrew.args.verbose? + ohai "Paginating Repology api page: #{page_no}" if Homebrew.args.verbose? - last_package_in_response = outdated_packages.keys[last_pacakge_index] - response = query_api("#{last_package_in_response}/") + last_package_in_response = outdated_packages.keys[last_package_index] + response = query_api(last_package_in_response) response_size = response.size outdated_packages.merge!(response) - last_pacakge_index = outdated_packages.size - 1 + last_package_index = outdated_packages.size - 1 end ohai "#{outdated_packages.size} outdated packages identified" @@ -42,7 +43,7 @@ module RepologyParser end def validate__packages(outdated_repology_packages) - ohai "Verifying outdated repology packages as Homebrew Formulae" + ohai "Verifying outdated Repology packages as Homebrew Formulae" packages = {} outdated_repology_packages.each do |_name, repositories| @@ -52,6 +53,7 @@ module RepologyParser end next if repology_homebrew_repo.empty? + latest_version = nil # identify latest version amongst repology repos @@ -61,13 +63,14 @@ module RepologyParser info = FormulaInfo.lookup(repology_homebrew_repo["srcname"]) next unless info + current_version = info.pkg_version - + packages[repology_homebrew_repo["srcname"]] = { "repology_latest_version" => latest_version, - "current_formula_version" => current_version.to_s + "current_formula_version" => current_version.to_s, } - puts packages + puts packages end # hash of hashes {"aacgain"=>{"repology_latest_version"=>"1.9", "current_formula_version"=>"1.8"}, ...} packages diff --git a/Library/Homebrew/utils/versions.rb b/Library/Homebrew/utils/versions.rb index 0155f1a0cf..1cacdd30b6 100644 --- a/Library/Homebrew/utils/versions.rb +++ b/Library/Homebrew/utils/versions.rb @@ -9,14 +9,8 @@ module Versions end def bump_formula_pr(formula_name, url) - command_args = [ - "brew", - "bump-formula-pr", - "--no-browse", - "--dry-run", - formula_name, - "--url=#{url}", - ] + command_args = ["brew", "bump-formula-pr", "--no-browse", + "--dry-run", formula_name, "--url=#{url}"] response = Open3.capture2e(*command_args) parse_formula_bump_response(response)