Skip to content

bundle: Rename "brews" to "formulae" for consistency #20209

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 4, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Library/.rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ Sorbet/StrictSigil:
- "Homebrew/utils/ruby_check_version_script.rb" # A standalone script.
- "Homebrew/{standalone,startup}/*.rb" # These are loaded before sorbet-runtime
- "Homebrew/test/**/*.rb"
- "Homebrew/bundle/{brew_dumper,checker,commands/exec}.rb" # These aren't typed: true yet.
- "Homebrew/bundle/{formula_dumper,checker,commands/exec}.rb" # These aren't typed: true yet.

Sorbet/TrueSigil:
Enabled: true
Expand Down
4 changes: 2 additions & 2 deletions Library/Homebrew/bundle/brew_checker.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# frozen_string_literal: true

require "bundle/brew_installer"
require "bundle/formula_installer"

module Homebrew
module Bundle
Expand All @@ -11,7 +11,7 @@ class BrewChecker < Homebrew::Bundle::Checker::Base
PACKAGE_TYPE_NAME = "Formula"

def installed_and_up_to_date?(formula, no_upgrade: false)
Homebrew::Bundle::BrewInstaller.formula_installed_and_up_to_date?(formula, no_upgrade:)
Homebrew::Bundle::FormulaInstaller.formula_installed_and_up_to_date?(formula, no_upgrade:)
end
end
end
Expand Down
8 changes: 4 additions & 4 deletions Library/Homebrew/bundle/brew_service_checker.rb
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ def installed_and_up_to_date?(formula, no_upgrade: false)
end

def entry_to_formula(entry)
require "bundle/brew_installer"
Homebrew::Bundle::BrewInstaller.new(entry.name, entry.options)
require "bundle/formula_installer"
Homebrew::Bundle::FormulaInstaller.new(entry.name, entry.options)
end

def formula_needs_to_start?(formula)
Expand All @@ -38,8 +38,8 @@ def service_is_started?(service_name)
end

def lookup_old_name(service_name)
require "bundle/brew_dumper"
@old_names ||= Homebrew::Bundle::BrewDumper.formula_oldnames
require "bundle/formula_dumper"
@old_names ||= Homebrew::Bundle::FormulaDumper.formula_oldnames
old_name = @old_names[service_name]
old_name ||= @old_names[service_name.split("/").last]
old_name
Expand Down
4 changes: 2 additions & 2 deletions Library/Homebrew/bundle/checker.rb
Original file line number Diff line number Diff line change
Expand Up @@ -139,14 +139,14 @@ def self.formulae_to_start(exit_on_first_error: false, no_upgrade: false, verbos

def self.reset!
require "bundle/cask_dumper"
require "bundle/brew_dumper"
require "bundle/formula_dumper"
require "bundle/mac_app_store_dumper"
require "bundle/tap_dumper"
require "bundle/brew_services"

@dsl = nil
Homebrew::Bundle::CaskDumper.reset!
Homebrew::Bundle::BrewDumper.reset!
Homebrew::Bundle::FormulaDumper.reset!
Homebrew::Bundle::MacAppStoreDumper.reset!
Homebrew::Bundle::TapDumper.reset!
Homebrew::Bundle::BrewServices.reset!
Expand Down
24 changes: 12 additions & 12 deletions Library/Homebrew/bundle/commands/cleanup.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ module Commands
module Cleanup
def self.reset!
require "bundle/cask_dumper"
require "bundle/brew_dumper"
require "bundle/formula_dumper"
require "bundle/tap_dumper"
require "bundle/vscode_extension_dumper"
require "bundle/brew_services"
Expand All @@ -19,18 +19,18 @@ def self.reset!
@kept_casks = nil
@kept_formulae = nil
Homebrew::Bundle::CaskDumper.reset!
Homebrew::Bundle::BrewDumper.reset!
Homebrew::Bundle::FormulaDumper.reset!
Homebrew::Bundle::TapDumper.reset!
Homebrew::Bundle::VscodeExtensionDumper.reset!
Homebrew::Bundle::BrewServices.reset!
end

def self.run(global: false, file: nil, force: false, zap: false, dsl: nil,
brews: true, casks: true, taps: true, vscode: true)
formulae: true, casks: true, taps: true, vscode: true)
@dsl ||= dsl

casks = casks ? casks_to_uninstall(global:, file:) : []
formulae = brews ? formulae_to_uninstall(global:, file:) : []
formulae = formulae ? formulae_to_uninstall(global:, file:) : []
taps = taps ? taps_to_untap(global:, file:) : []
vscode_extensions = vscode ? vscode_extensions_to_uninstall(global:, file:) : []
if force
Expand Down Expand Up @@ -101,11 +101,11 @@ def self.casks_to_uninstall(global: false, file: nil)
def self.formulae_to_uninstall(global: false, file: nil)
kept_formulae = self.kept_formulae(global:, file:)

require "bundle/brew_dumper"
require "bundle/brew_installer"
current_formulae = Homebrew::Bundle::BrewDumper.formulae
require "bundle/formula_dumper"
require "bundle/formula_installer"
current_formulae = Homebrew::Bundle::FormulaDumper.formulae
current_formulae.reject! do |f|
Homebrew::Bundle::BrewInstaller.formula_in_array?(f[:full_name], kept_formulae)
Homebrew::Bundle::FormulaInstaller.formula_in_array?(f[:full_name], kept_formulae)
end

# Don't try to uninstall formulae with keepme references
Expand All @@ -119,7 +119,7 @@ def self.formulae_to_uninstall(global: false, file: nil)

private_class_method def self.kept_formulae(global: false, file: nil)
require "bundle/brewfile"
require "bundle/brew_dumper"
require "bundle/formula_dumper"
require "bundle/cask_dumper"

@kept_formulae ||= begin
Expand All @@ -128,12 +128,12 @@ def self.formulae_to_uninstall(global: false, file: nil)
kept_formulae = @dsl.entries.select { |e| e.type == :brew }.map(&:name)
kept_formulae += Homebrew::Bundle::CaskDumper.formula_dependencies(kept_casks)
kept_formulae.map! do |f|
Homebrew::Bundle::BrewDumper.formula_aliases[f] ||
Homebrew::Bundle::BrewDumper.formula_oldnames[f] ||
Homebrew::Bundle::FormulaDumper.formula_aliases[f] ||
Homebrew::Bundle::FormulaDumper.formula_oldnames[f] ||
f
end

kept_formulae + recursive_dependencies(Homebrew::Bundle::BrewDumper.formulae, kept_formulae)
kept_formulae + recursive_dependencies(Homebrew::Bundle::FormulaDumper.formulae, kept_formulae)
end
end

Expand Down
5 changes: 3 additions & 2 deletions Library/Homebrew/bundle/commands/dump.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@ module Homebrew
module Bundle
module Commands
module Dump
def self.run(global:, file:, describe:, force:, no_restart:, taps:, brews:, casks:, mas:, whalebrew:, vscode:)
def self.run(global:, file:, describe:, force:, no_restart:, taps:, formulae:, casks:, mas:, whalebrew:,
vscode:)
Homebrew::Bundle::Dumper.dump_brewfile(
global:, file:, describe:, force:, no_restart:, taps:, brews:, casks:, mas:, whalebrew:, vscode:,
global:, file:, describe:, force:, no_restart:, taps:, formulae:, casks:, mas:, whalebrew:, vscode:,
)
end
end
Expand Down
4 changes: 2 additions & 2 deletions Library/Homebrew/bundle/commands/list.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ module Homebrew
module Bundle
module Commands
module List
def self.run(global:, file:, brews:, casks:, taps:, mas:, whalebrew:, vscode:)
def self.run(global:, file:, formulae:, casks:, taps:, mas:, whalebrew:, vscode:)
parsed_entries = Brewfile.read(global:, file:).entries
Homebrew::Bundle::Lister.list(
parsed_entries,
brews:, casks:, taps:, mas:, whalebrew:, vscode:,
formulae:, casks:, taps:, mas:, whalebrew:, vscode:,
)
end
end
Expand Down
12 changes: 6 additions & 6 deletions Library/Homebrew/bundle/dumper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,29 +13,29 @@ module Dumper
true
end

def self.build_brewfile(describe:, no_restart:, brews:, taps:, casks:, mas:, whalebrew:, vscode:)
def self.build_brewfile(describe:, no_restart:, formulae:, taps:, casks:, mas:, whalebrew:, vscode:)
require "bundle/tap_dumper"
require "bundle/brew_dumper"
require "bundle/formula_dumper"
require "bundle/cask_dumper"
require "bundle/mac_app_store_dumper"
require "bundle/whalebrew_dumper"
require "bundle/vscode_extension_dumper"

content = []
content << TapDumper.dump if taps
content << BrewDumper.dump(describe:, no_restart:) if brews
content << FormulaDumper.dump(describe:, no_restart:) if formulae
content << CaskDumper.dump(describe:) if casks
content << MacAppStoreDumper.dump if mas
content << WhalebrewDumper.dump if whalebrew
content << VscodeExtensionDumper.dump if vscode
"#{content.reject(&:empty?).join("\n")}\n"
end

def self.dump_brewfile(global:, file:, describe:, force:, no_restart:, brews:, taps:, casks:, mas:, whalebrew:,
vscode:)
def self.dump_brewfile(global:, file:, describe:, force:, no_restart:, formulae:, taps:, casks:, mas:,
whalebrew:, vscode:)
path = brewfile_path(global:, file:)
can_write_to_brewfile?(path, force:)
content = build_brewfile(describe:, no_restart:, taps:, brews:, casks:, mas:, whalebrew:, vscode:)
content = build_brewfile(describe:, no_restart:, taps:, formulae:, casks:, mas:, whalebrew:, vscode:)
write_file path, content
end

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
module Homebrew
module Bundle
# TODO: refactor into multiple modules
module BrewDumper
module FormulaDumper
def self.reset!
require "bundle/brew_services"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

module Homebrew
module Bundle
class BrewInstaller
class FormulaInstaller
def self.reset!
@installed_formulae = nil
@outdated_formulae = nil
Expand Down Expand Up @@ -179,13 +179,13 @@ def self.formula_in_array?(formula, array)
return true if array.include?(formula)
return true if array.include?(formula.split("/").last)

require "bundle/brew_dumper"
old_names = Homebrew::Bundle::BrewDumper.formula_oldnames
require "bundle/formula_dumper"
old_names = Homebrew::Bundle::FormulaDumper.formula_oldnames
old_name = old_names[formula]
old_name ||= old_names[formula.split("/").last]
return true if old_name && array.include?(old_name)

resolved_full_name = Homebrew::Bundle::BrewDumper.formula_aliases[formula]
resolved_full_name = Homebrew::Bundle::FormulaDumper.formula_aliases[formula]
return false unless resolved_full_name
return true if array.include?(resolved_full_name)
return true if array.include?(resolved_full_name.split("/").last)
Expand Down Expand Up @@ -219,14 +219,14 @@ def self.pinned_formulae
end

def self.formulae
require "bundle/brew_dumper"
Homebrew::Bundle::BrewDumper.formulae
require "bundle/formula_dumper"
Homebrew::Bundle::FormulaDumper.formulae
end

private

def installed?
BrewInstaller.formula_installed?(@name)
FormulaInstaller.formula_installed?(@name)
end

def linked?
Expand All @@ -242,16 +242,16 @@ def unlinked_and_keg_only?
end

def upgradable?
BrewInstaller.formula_upgradable?(@name)
FormulaInstaller.formula_upgradable?(@name)
end

def conflicts_with
@conflicts_with ||= begin
conflicts_with = Set.new
conflicts_with += @conflicts_with_arg

require "bundle/brew_dumper"
if (formula = Homebrew::Bundle::BrewDumper.formulae_by_full_name(@full_name)) &&
require "bundle/formula_dumper"
if (formula = Homebrew::Bundle::FormulaDumper.formulae_by_full_name(@full_name)) &&
(formula_conflicts_with = formula[:conflicts_with])
conflicts_with += formula_conflicts_with
end
Expand All @@ -262,7 +262,7 @@ def conflicts_with

def resolve_conflicts!(verbose:)
conflicts_with.each do |conflict|
next unless BrewInstaller.formula_installed?(conflict)
next unless FormulaInstaller.formula_installed?(conflict)

if verbose
puts <<~EOS
Expand Down Expand Up @@ -293,7 +293,7 @@ def install!(verbose:, force:)
return false
end

BrewInstaller.installed_formulae << @name
FormulaInstaller.installed_formulae << @name
@changed = true
true
end
Expand Down
6 changes: 3 additions & 3 deletions Library/Homebrew/bundle/installer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# frozen_string_literal: true

require "bundle/dsl"
require "bundle/brew_installer"
require "bundle/formula_installer"
require "bundle/cask_installer"
require "bundle/mac_app_store_installer"
require "bundle/whalebrew_installer"
Expand All @@ -27,8 +27,8 @@ def self.install(entries, global: false, file: nil, no_lock: false, no_upgrade:
cls = case type
when :brew
options = entry.options
verb = "Upgrading" if Homebrew::Bundle::BrewInstaller.formula_upgradable?(name)
Homebrew::Bundle::BrewInstaller
verb = "Upgrading" if Homebrew::Bundle::FormulaInstaller.formula_upgradable?(name)
Homebrew::Bundle::FormulaInstaller
when :cask
options = entry.options
verb = "Upgrading" if Homebrew::Bundle::CaskInstaller.cask_upgradable?(name)
Expand Down
8 changes: 4 additions & 4 deletions Library/Homebrew/bundle/lister.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@
module Homebrew
module Bundle
module Lister
def self.list(entries, brews:, casks:, taps:, mas:, whalebrew:, vscode:)
def self.list(entries, formulae:, casks:, taps:, mas:, whalebrew:, vscode:)
entries.each do |entry|
puts entry.name if show?(entry.type, brews:, casks:, taps:, mas:, whalebrew:, vscode:)
puts entry.name if show?(entry.type, formulae:, casks:, taps:, mas:, whalebrew:, vscode:)
end
end

private_class_method def self.show?(type, brews:, casks:, taps:, mas:, whalebrew:, vscode:)
return true if brews && type == :brew
private_class_method def self.show?(type, formulae:, casks:, taps:, mas:, whalebrew:, vscode:)
return true if formulae && type == :brew
return true if casks && type == :cask
return true if taps && type == :tap
return true if mas && type == :mas
Expand Down
2 changes: 1 addition & 1 deletion Library/Homebrew/bundle/skipper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ module Skipper
class << self
sig { params(entry: Dsl::Entry, silent: T::Boolean).returns(T::Boolean) }
def skip?(entry, silent: false)
require "bundle/brew_dumper"
require "bundle/formula_dumper"

return true if @failed_taps&.any? do |tap|
prefix = "#{tap}/"
Expand Down
14 changes: 7 additions & 7 deletions Library/Homebrew/cmd/bundle.rb
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@
env: [:bundle_install_cleanup, "--global"]
switch "--all",
description: "`list` all dependencies."
switch "--formula", "--brews",
switch "--formula", "--formulae",
description: "`list`, `dump` or `cleanup` Homebrew formula dependencies."
switch "--cask", "--casks",
description: "`list`, `dump` or `cleanup` Homebrew cask dependencies."
Expand Down Expand Up @@ -162,7 +162,7 @@
zap = args.zap?
Homebrew::Bundle.upgrade_formulae = args.upgrade_formulae

no_type_args = !args.brews? && !args.casks? && !args.taps? && !args.mas? && !args.whalebrew? && !args.vscode?
no_type_args = [args.formulae?, args.casks?, args.taps?, args.mas?, args.whalebrew?, args.vscode?].none?

Check warning on line 165 in Library/Homebrew/cmd/bundle.rb

View check run for this annotation

Codecov / codecov/patch

Library/Homebrew/cmd/bundle.rb#L165

Added line #L165 was not covered by tests

if args.install?
if [nil, "install", "upgrade"].include?(subcommand)
Expand Down Expand Up @@ -209,7 +209,7 @@
describe: args.describe?,
no_restart: args.no_restart?,
taps: args.taps? || no_type_args,
brews: args.brews? || no_type_args,
formulae: args.formulae? || no_type_args,
casks: args.casks? || no_type_args,
mas: args.mas? || no_type_args,
whalebrew: args.whalebrew? || no_type_args,
Expand All @@ -222,7 +222,7 @@
require "bundle/commands/cleanup"
Homebrew::Bundle::Commands::Cleanup.run(
global:, file:, force:, zap:,
brews: args.brews? || no_type_args,
formulae: args.formulae? || no_type_args,
casks: args.casks? || no_type_args,
taps: args.taps? || no_type_args,
vscode: args.vscode? || no_type_args
Expand All @@ -235,17 +235,17 @@
Homebrew::Bundle::Commands::List.run(
global:,
file:,
brews: args.brews? || args.all? || no_type_args,
formulae: args.formulae? || args.all? || no_type_args,
casks: args.casks? || args.all?,
taps: args.taps? || args.all?,
mas: args.mas? || args.all?,
whalebrew: args.whalebrew? || args.all?,
vscode: args.vscode? || args.all?,
)
when "add", "remove"
# We intentionally omit the `s` from `brews`, `casks`, and `taps` for ease of handling later.
# We intentionally omit the s from `brews`, `casks`, and `taps` for ease of handling later.
type_hash = {
brew: args.brews?,
brew: args.formulae?,

Check warning on line 248 in Library/Homebrew/cmd/bundle.rb

View check run for this annotation

Codecov / codecov/patch

Library/Homebrew/cmd/bundle.rb#L248

Added line #L248 was not covered by tests
cask: args.casks?,
tap: args.taps?,
mas: args.mas?,
Expand Down
Loading