From ff5edb73c26ac153c15ab2136693cbc0f9df9b5a Mon Sep 17 00:00:00 2001 From: Rylan Polster Date: Mon, 11 Aug 2025 18:54:09 -0400 Subject: [PATCH] Don't query analytics for third-party formulae/casks in `brew info` --- Library/Homebrew/cask/info.rb | 2 ++ Library/Homebrew/cmd/info.rb | 6 ++++-- Library/Homebrew/utils/analytics.rb | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/cask/info.rb b/Library/Homebrew/cask/info.rb index 9273ac05bb..174665fb08 100644 --- a/Library/Homebrew/cask/info.rb +++ b/Library/Homebrew/cask/info.rb @@ -36,6 +36,8 @@ module Cask def self.info(cask, args:) puts get_info(cask) + return unless cask.tap.core_cask_tap? + require "utils/analytics" ::Utils::Analytics.cask_output(cask, args:) end diff --git a/Library/Homebrew/cmd/info.rb b/Library/Homebrew/cmd/info.rb index 5040ebb361..f6703dab5a 100644 --- a/Library/Homebrew/cmd/info.rb +++ b/Library/Homebrew/cmd/info.rb @@ -159,9 +159,9 @@ module Homebrew case obj when Formula - Utils::Analytics.formula_output(obj, args:) + Utils::Analytics.formula_output(obj, args:) if obj.core_formula? when Cask::Cask - Utils::Analytics.cask_output(obj, args:) + Utils::Analytics.cask_output(obj, args:) if obj.tap.core_cask_tap? when FormulaOrCaskUnavailableError Utils::Analytics.output(filter: obj.name, args:) else @@ -380,6 +380,8 @@ module Homebrew ohai "Caveats", caveats_string end + return unless formula.core_formula? + Utils::Analytics.formula_output(formula, args:) end diff --git a/Library/Homebrew/utils/analytics.rb b/Library/Homebrew/utils/analytics.rb index a93c6fccc1..305af3f6df 100644 --- a/Library/Homebrew/utils/analytics.rb +++ b/Library/Homebrew/utils/analytics.rb @@ -329,6 +329,8 @@ module Utils require "api" + return unless Homebrew::API::Formula.all_formulae.key? formula.name + json = Homebrew::API::Formula.formula_json formula.name return if json.blank? || json["analytics"].blank? @@ -345,6 +347,8 @@ module Utils require "api" + return unless Homebrew::API::Cask.all_casks.key? cask.token + json = Homebrew::API::Cask.cask_json cask.token return if json.blank? || json["analytics"].blank?