From 97d299728d55c802e86089fcadc84c64470d918d Mon Sep 17 00:00:00 2001 From: Rylan Polster Date: Mon, 11 Aug 2025 00:36:10 -0400 Subject: [PATCH] Cleanup internal API handling --- Library/Homebrew/api.rb | 14 ++++++++++++++ Library/Homebrew/api/cask.rb | 11 ++--------- Library/Homebrew/api/formula.rb | 20 ++++---------------- 3 files changed, 20 insertions(+), 25 deletions(-) diff --git a/Library/Homebrew/api.rb b/Library/Homebrew/api.rb index c09fb2b000..8417784fa0 100644 --- a/Library/Homebrew/api.rb +++ b/Library/Homebrew/api.rb @@ -162,6 +162,20 @@ module Homebrew false end + sig { params(aliases: T::Hash[String, String], type: String, regenerate: T::Boolean).returns(T::Boolean) } + def self.write_aliases_file!(aliases, type, regenerate:) + aliases_path = HOMEBREW_CACHE_API/"#{type}_aliases.txt" + if !aliases_path.exist? || regenerate + aliases_text = aliases.map do |alias_name, real_name| + "#{alias_name}|#{real_name}" + end + aliases_path.write(aliases_text.join("\n")) + return true + end + + false + end + sig { params(json_data: T::Hash[String, T.untyped]) .returns([T::Boolean, T.any(String, T::Array[T.untyped], T::Hash[String, T.untyped])]) diff --git a/Library/Homebrew/api/cask.rb b/Library/Homebrew/api/cask.rb index 699af9c549..93b0d34deb 100644 --- a/Library/Homebrew/api/cask.rb +++ b/Library/Homebrew/api/cask.rb @@ -14,13 +14,6 @@ module Homebrew DEFAULT_API_FILENAME = "cask.jws.json" - sig { returns(String) } - def self.api_filename - return DEFAULT_API_FILENAME unless ENV.fetch("HOMEBREW_USE_INTERNAL_API", false) - - "cask.#{SimulateSystem.current_tag}.jws.json" - end - private_class_method :cache sig { params(token: String).returns(T::Hash[String, T.untyped]) } @@ -64,7 +57,7 @@ module Homebrew sig { returns(Pathname) } def self.cached_json_file_path - HOMEBREW_CACHE_API/api_filename + HOMEBREW_CACHE_API/DEFAULT_API_FILENAME end sig { @@ -72,7 +65,7 @@ module Homebrew .returns([T.any(T::Array[T.untyped], T::Hash[String, T.untyped]), T::Boolean]) } def self.fetch_api!(download_queue: nil, stale_seconds: Homebrew::EnvConfig.api_auto_update_secs.to_i) - Homebrew::API.fetch_json_api_file api_filename, stale_seconds:, download_queue: + Homebrew::API.fetch_json_api_file DEFAULT_API_FILENAME, stale_seconds:, download_queue: end sig { diff --git a/Library/Homebrew/api/formula.rb b/Library/Homebrew/api/formula.rb index e9b752a054..2289cbd965 100644 --- a/Library/Homebrew/api/formula.rb +++ b/Library/Homebrew/api/formula.rb @@ -14,13 +14,6 @@ module Homebrew DEFAULT_API_FILENAME = "formula.jws.json" - sig { returns(String) } - def self.api_filename - return DEFAULT_API_FILENAME unless ENV.fetch("HOMEBREW_USE_INTERNAL_API", false) - - "internal/formula.#{SimulateSystem.current_tag}.jws.json" - end - private_class_method :cache sig { params(name: String).returns(T::Hash[String, T.untyped]) } @@ -63,7 +56,7 @@ module Homebrew sig { returns(Pathname) } def self.cached_json_file_path - HOMEBREW_CACHE_API/api_filename + HOMEBREW_CACHE_API/DEFAULT_API_FILENAME end sig { @@ -71,7 +64,7 @@ module Homebrew .returns([T.any(T::Array[T.untyped], T::Hash[String, T.untyped]), T::Boolean]) } def self.fetch_api!(download_queue: nil, stale_seconds: Homebrew::EnvConfig.api_auto_update_secs.to_i) - Homebrew::API.fetch_json_api_file api_filename, stale_seconds:, download_queue: + Homebrew::API.fetch_json_api_file DEFAULT_API_FILENAME, stale_seconds:, download_queue: end sig { @@ -147,13 +140,8 @@ module Homebrew def self.write_names_and_aliases(regenerate: false) download_and_cache_data! unless cache.key?("formulae") - return unless Homebrew::API.write_names_file!(all_formulae.keys, "formula", regenerate:) - - (HOMEBREW_CACHE_API/"formula_aliases.txt").open("w") do |file| - all_aliases.each do |alias_name, real_name| - file.puts "#{alias_name}|#{real_name}" - end - end + Homebrew::API.write_names_file!(all_formulae.keys, "formula", regenerate:) + Homebrew::API.write_aliases_file!(all_aliases, "formula", regenerate:) end end end