diff --git a/Library/Homebrew/dev-cmd/generate-cask-api.rb b/Library/Homebrew/dev-cmd/generate-cask-api.rb index 6f75828061..40b3a1c7da 100644 --- a/Library/Homebrew/dev-cmd/generate-cask-api.rb +++ b/Library/Homebrew/dev-cmd/generate-cask-api.rb @@ -44,22 +44,25 @@ module Homebrew Cask::Cask.generating_hash! - tap.cask_files.each do |path| - cask = Cask::CaskLoader.load(path) - name = cask.token - json = JSON.pretty_generate(cask.to_hash_with_variations) - cask_source = path.read - html_template_name = html_template(name) + latest_macos = MacOSVersion.new((HOMEBREW_MACOS_NEWEST_UNSUPPORTED.to_i - 1).to_s).to_sym + Homebrew::SimulateSystem.with(os: latest_macos, arch: :arm) do + tap.cask_files.each do |path| + cask = Cask::CaskLoader.load(path) + name = cask.token + json = JSON.pretty_generate(cask.to_hash_with_variations) + cask_source = path.read + html_template_name = html_template(name) - unless args.dry_run? - File.write("_data/cask/#{name.tr("+", "_")}.json", "#{json}\n") - File.write("api/cask/#{name}.json", CASK_JSON_TEMPLATE) - File.write("api/cask-source/#{name}.rb", cask_source) - File.write("cask/#{name}.html", html_template_name) + unless args.dry_run? + File.write("_data/cask/#{name.tr("+", "_")}.json", "#{json}\n") + File.write("api/cask/#{name}.json", CASK_JSON_TEMPLATE) + File.write("api/cask-source/#{name}.rb", cask_source) + File.write("cask/#{name}.html", html_template_name) + end + rescue + onoe "Error while generating data for cask '#{path.stem}'." + raise end - rescue - onoe "Error while generating data for cask '#{path.stem}'." - raise end canonical_json = JSON.pretty_generate(tap.cask_renames) diff --git a/Library/Homebrew/dev-cmd/generate-formula-api.rb b/Library/Homebrew/dev-cmd/generate-formula-api.rb index c87dc2a798..ac8d5dd63b 100644 --- a/Library/Homebrew/dev-cmd/generate-formula-api.rb +++ b/Library/Homebrew/dev-cmd/generate-formula-api.rb @@ -44,20 +44,23 @@ module Homebrew Formulary.enable_factory_cache! Formula.generating_hash! - tap.formula_names.each do |name| - formula = Formulary.factory(name) - name = formula.name - json = JSON.pretty_generate(formula.to_hash_with_variations) - html_template_name = html_template(name) + latest_macos = MacOSVersion.new((HOMEBREW_MACOS_NEWEST_UNSUPPORTED.to_i - 1).to_s).to_sym + Homebrew::SimulateSystem.with(os: latest_macos, arch: :arm) do + tap.formula_names.each do |name| + formula = Formulary.factory(name) + name = formula.name + json = JSON.pretty_generate(formula.to_hash_with_variations) + html_template_name = html_template(name) - unless args.dry_run? - File.write("_data/formula/#{name.tr("+", "_")}.json", "#{json}\n") - File.write("api/formula/#{name}.json", FORMULA_JSON_TEMPLATE) - File.write("formula/#{name}.html", html_template_name) + unless args.dry_run? + File.write("_data/formula/#{name.tr("+", "_")}.json", "#{json}\n") + File.write("api/formula/#{name}.json", FORMULA_JSON_TEMPLATE) + File.write("formula/#{name}.html", html_template_name) + end + rescue + onoe "Error while generating data for formula '#{name}'." + raise end - rescue - onoe "Error while generating data for formula '#{name}'." - raise end canonical_json = JSON.pretty_generate(tap.formula_renames.merge(tap.alias_table))