Merge pull request #19568 from Homebrew/bundle-lazy-require
bundle: `require` more lazily
This commit is contained in:
commit
09eceba798
@ -1,40 +1,89 @@
|
|||||||
# typed: strict
|
# typed: true # rubocop:todo Sorbet/StrictSigil
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle/brewfile"
|
require "English"
|
||||||
require "bundle/bundle"
|
|
||||||
require "bundle/dsl"
|
module Homebrew
|
||||||
require "bundle/adder"
|
module Bundle
|
||||||
require "bundle/checker"
|
class << self
|
||||||
require "bundle/remover"
|
def system(cmd, *args, verbose: false)
|
||||||
require "bundle/skipper"
|
return super cmd, *args if verbose
|
||||||
require "bundle/brew_services"
|
|
||||||
require "bundle/brew_service_checker"
|
logs = []
|
||||||
require "bundle/brew_installer"
|
success = T.let(nil, T.nilable(T::Boolean))
|
||||||
require "bundle/brew_checker"
|
IO.popen([cmd, *args], err: [:child, :out]) do |pipe|
|
||||||
require "bundle/cask_installer"
|
while (buf = pipe.gets)
|
||||||
require "bundle/mac_app_store_installer"
|
logs << buf
|
||||||
require "bundle/mac_app_store_checker"
|
end
|
||||||
require "bundle/tap_installer"
|
Process.wait(pipe.pid)
|
||||||
require "bundle/brew_dumper"
|
success = $CHILD_STATUS.success?
|
||||||
require "bundle/cask_dumper"
|
pipe.close
|
||||||
require "bundle/cask_checker"
|
end
|
||||||
require "bundle/mac_app_store_dumper"
|
puts logs.join unless success
|
||||||
require "bundle/tap_dumper"
|
success
|
||||||
require "bundle/tap_checker"
|
end
|
||||||
require "bundle/dumper"
|
|
||||||
require "bundle/installer"
|
def brew(*args, verbose: false)
|
||||||
require "bundle/lister"
|
system(HOMEBREW_BREW_FILE, *args, verbose:)
|
||||||
require "bundle/commands/install"
|
end
|
||||||
require "bundle/commands/dump"
|
|
||||||
require "bundle/commands/cleanup"
|
def mas_installed?
|
||||||
require "bundle/commands/check"
|
@mas_installed ||= which_formula("mas")
|
||||||
require "bundle/commands/exec"
|
end
|
||||||
require "bundle/commands/list"
|
|
||||||
require "bundle/commands/add"
|
def vscode_installed?
|
||||||
require "bundle/commands/remove"
|
@vscode_installed ||= which_vscode.present?
|
||||||
require "bundle/whalebrew_installer"
|
end
|
||||||
require "bundle/whalebrew_dumper"
|
|
||||||
require "bundle/vscode_extension_checker"
|
def which_vscode
|
||||||
require "bundle/vscode_extension_dumper"
|
@which_vscode ||= which("code", ORIGINAL_PATHS)
|
||||||
require "bundle/vscode_extension_installer"
|
@which_vscode ||= which("codium", ORIGINAL_PATHS)
|
||||||
|
@which_vscode ||= which("cursor", ORIGINAL_PATHS)
|
||||||
|
@which_vscode ||= which("code-insiders", ORIGINAL_PATHS)
|
||||||
|
end
|
||||||
|
|
||||||
|
def whalebrew_installed?
|
||||||
|
@whalebrew_installed ||= which_formula("whalebrew")
|
||||||
|
end
|
||||||
|
|
||||||
|
def cask_installed?
|
||||||
|
@cask_installed ||= File.directory?("#{HOMEBREW_PREFIX}/Caskroom") &&
|
||||||
|
(File.directory?("#{HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-cask") ||
|
||||||
|
!Homebrew::EnvConfig.no_install_from_api?)
|
||||||
|
end
|
||||||
|
|
||||||
|
def which_formula(name)
|
||||||
|
formula = Formulary.factory(name)
|
||||||
|
ENV["PATH"] = "#{formula.opt_bin}:#{ENV.fetch("PATH", nil)}" if formula.any_version_installed?
|
||||||
|
which(name).present?
|
||||||
|
end
|
||||||
|
|
||||||
|
def exchange_uid_if_needed!(&block)
|
||||||
|
euid = Process.euid
|
||||||
|
uid = Process.uid
|
||||||
|
return yield if euid == uid
|
||||||
|
|
||||||
|
old_euid = euid
|
||||||
|
process_reexchangeable = Process::UID.re_exchangeable?
|
||||||
|
if process_reexchangeable
|
||||||
|
Process::UID.re_exchange
|
||||||
|
else
|
||||||
|
Process::Sys.seteuid(uid)
|
||||||
|
end
|
||||||
|
|
||||||
|
home = T.must(Etc.getpwuid(Process.uid)).dir
|
||||||
|
return_value = with_env("HOME" => home, &block)
|
||||||
|
|
||||||
|
if process_reexchangeable
|
||||||
|
Process::UID.re_exchange
|
||||||
|
else
|
||||||
|
Process::Sys.seteuid(old_euid)
|
||||||
|
end
|
||||||
|
|
||||||
|
return_value
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
require "extend/os/bundle/bundle"
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
# typed: true # rubocop:todo Sorbet/StrictSigil
|
# typed: true # rubocop:todo Sorbet/StrictSigil
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "bundle/brewfile"
|
||||||
|
require "bundle/dumper"
|
||||||
|
|
||||||
module Homebrew
|
module Homebrew
|
||||||
module Bundle
|
module Bundle
|
||||||
module Adder
|
module Adder
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
# typed: true # rubocop:todo Sorbet/StrictSigil
|
# typed: true # rubocop:todo Sorbet/StrictSigil
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "bundle/brew_installer"
|
||||||
|
|
||||||
module Homebrew
|
module Homebrew
|
||||||
module Bundle
|
module Bundle
|
||||||
module Checker
|
module Checker
|
||||||
|
@ -11,6 +11,8 @@ module Homebrew
|
|||||||
module_function
|
module_function
|
||||||
|
|
||||||
def reset!
|
def reset!
|
||||||
|
require "bundle/brew_services"
|
||||||
|
|
||||||
Homebrew::Bundle::BrewServices.reset!
|
Homebrew::Bundle::BrewServices.reset!
|
||||||
@formulae = nil
|
@formulae = nil
|
||||||
@formulae_by_full_name = nil
|
@formulae_by_full_name = nil
|
||||||
@ -54,6 +56,8 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def dump(describe: false, no_restart: false)
|
def dump(describe: false, no_restart: false)
|
||||||
|
require "bundle/brew_services"
|
||||||
|
|
||||||
requested_formula = formulae.select do |f|
|
requested_formula = formulae.select do |f|
|
||||||
f[:installed_on_request?] || !f[:installed_as_dependency?]
|
f[:installed_on_request?] || !f[:installed_as_dependency?]
|
||||||
end
|
end
|
||||||
|
@ -77,6 +77,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def start_service_needed?
|
def start_service_needed?
|
||||||
|
require "bundle/brew_services"
|
||||||
start_service? && !BrewServices.started?(@full_name)
|
start_service? && !BrewServices.started?(@full_name)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -96,6 +97,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def service_change_state!(verbose:)
|
def service_change_state!(verbose:)
|
||||||
|
require "bundle/brew_services"
|
||||||
if restart_service_needed?
|
if restart_service_needed?
|
||||||
puts "Restarting #{@name} service." if verbose
|
puts "Restarting #{@name} service." if verbose
|
||||||
BrewServices.restart(@full_name, verbose:)
|
BrewServices.restart(@full_name, verbose:)
|
||||||
@ -156,6 +158,7 @@ module Homebrew
|
|||||||
return true if array.include?(formula)
|
return true if array.include?(formula)
|
||||||
return true if array.include?(formula.split("/").last)
|
return true if array.include?(formula.split("/").last)
|
||||||
|
|
||||||
|
require "bundle/brew_dumper"
|
||||||
old_names = Homebrew::Bundle::BrewDumper.formula_oldnames
|
old_names = Homebrew::Bundle::BrewDumper.formula_oldnames
|
||||||
old_name = old_names[formula]
|
old_name = old_names[formula]
|
||||||
old_name ||= old_names[formula.split("/").last]
|
old_name ||= old_names[formula.split("/").last]
|
||||||
@ -195,6 +198,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.formulae
|
def self.formulae
|
||||||
|
require "bundle/brew_dumper"
|
||||||
Homebrew::Bundle::BrewDumper.formulae
|
Homebrew::Bundle::BrewDumper.formulae
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -225,6 +229,7 @@ module Homebrew
|
|||||||
conflicts_with = Set.new
|
conflicts_with = Set.new
|
||||||
conflicts_with += @conflicts_with_arg
|
conflicts_with += @conflicts_with_arg
|
||||||
|
|
||||||
|
require "bundle/brew_dumper"
|
||||||
if (formula = Homebrew::Bundle::BrewDumper.formulae_by_full_name(@full_name)) &&
|
if (formula = Homebrew::Bundle::BrewDumper.formulae_by_full_name(@full_name)) &&
|
||||||
(formula_conflicts_with = formula[:conflicts_with])
|
(formula_conflicts_with = formula[:conflicts_with])
|
||||||
conflicts_with += formula_conflicts_with
|
conflicts_with += formula_conflicts_with
|
||||||
@ -246,11 +251,12 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
return false unless Bundle.brew("unlink", conflict, verbose:)
|
return false unless Bundle.brew("unlink", conflict, verbose:)
|
||||||
|
|
||||||
if restart_service?
|
next unless restart_service?
|
||||||
|
|
||||||
|
require "bundle/brew_services"
|
||||||
puts "Stopping #{conflict} service (if it is running)." if verbose
|
puts "Stopping #{conflict} service (if it is running)." if verbose
|
||||||
BrewServices.stop(conflict, verbose:)
|
BrewServices.stop(conflict, verbose:)
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
true
|
true
|
||||||
end
|
end
|
||||||
|
@ -24,6 +24,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def entry_to_formula(entry)
|
def entry_to_formula(entry)
|
||||||
|
require "bundle/brew_installer"
|
||||||
Homebrew::Bundle::BrewInstaller.new(entry.name, entry.options)
|
Homebrew::Bundle::BrewInstaller.new(entry.name, entry.options)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -32,10 +33,12 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def service_is_started?(service_name)
|
def service_is_started?(service_name)
|
||||||
|
require "bundle/brew_services"
|
||||||
Homebrew::Bundle::BrewServices.started?(service_name)
|
Homebrew::Bundle::BrewServices.started?(service_name)
|
||||||
end
|
end
|
||||||
|
|
||||||
def lookup_old_name(service_name)
|
def lookup_old_name(service_name)
|
||||||
|
require "bundle/brew_dumper"
|
||||||
@old_names ||= Homebrew::Bundle::BrewDumper.formula_oldnames
|
@old_names ||= Homebrew::Bundle::BrewDumper.formula_oldnames
|
||||||
old_name = @old_names[service_name]
|
old_name = @old_names[service_name]
|
||||||
old_name ||= @old_names[service_name.split("/").last]
|
old_name ||= @old_names[service_name.split("/").last]
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
# typed: true # rubocop:todo Sorbet/StrictSigil
|
# typed: true # rubocop:todo Sorbet/StrictSigil
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "bundle/dsl"
|
||||||
|
|
||||||
module Homebrew
|
module Homebrew
|
||||||
module Bundle
|
module Bundle
|
||||||
module Brewfile
|
module Brewfile
|
||||||
|
@ -1,89 +0,0 @@
|
|||||||
# typed: true # rubocop:todo Sorbet/StrictSigil
|
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require "English"
|
|
||||||
|
|
||||||
module Homebrew
|
|
||||||
module Bundle
|
|
||||||
class << self
|
|
||||||
def system(cmd, *args, verbose: false)
|
|
||||||
return super cmd, *args if verbose
|
|
||||||
|
|
||||||
logs = []
|
|
||||||
success = T.let(nil, T.nilable(T::Boolean))
|
|
||||||
IO.popen([cmd, *args], err: [:child, :out]) do |pipe|
|
|
||||||
while (buf = pipe.gets)
|
|
||||||
logs << buf
|
|
||||||
end
|
|
||||||
Process.wait(pipe.pid)
|
|
||||||
success = $CHILD_STATUS.success?
|
|
||||||
pipe.close
|
|
||||||
end
|
|
||||||
puts logs.join unless success
|
|
||||||
success
|
|
||||||
end
|
|
||||||
|
|
||||||
def brew(*args, verbose: false)
|
|
||||||
system(HOMEBREW_BREW_FILE, *args, verbose:)
|
|
||||||
end
|
|
||||||
|
|
||||||
def mas_installed?
|
|
||||||
@mas_installed ||= which_formula("mas")
|
|
||||||
end
|
|
||||||
|
|
||||||
def vscode_installed?
|
|
||||||
@vscode_installed ||= which_vscode.present?
|
|
||||||
end
|
|
||||||
|
|
||||||
def which_vscode
|
|
||||||
@which_vscode ||= which("code", ORIGINAL_PATHS)
|
|
||||||
@which_vscode ||= which("codium", ORIGINAL_PATHS)
|
|
||||||
@which_vscode ||= which("cursor", ORIGINAL_PATHS)
|
|
||||||
@which_vscode ||= which("code-insiders", ORIGINAL_PATHS)
|
|
||||||
end
|
|
||||||
|
|
||||||
def whalebrew_installed?
|
|
||||||
@whalebrew_installed ||= which_formula("whalebrew")
|
|
||||||
end
|
|
||||||
|
|
||||||
def cask_installed?
|
|
||||||
@cask_installed ||= File.directory?("#{HOMEBREW_PREFIX}/Caskroom") &&
|
|
||||||
(File.directory?("#{HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-cask") ||
|
|
||||||
!Homebrew::EnvConfig.no_install_from_api?)
|
|
||||||
end
|
|
||||||
|
|
||||||
def which_formula(name)
|
|
||||||
formula = Formulary.factory(name)
|
|
||||||
ENV["PATH"] = "#{formula.opt_bin}:#{ENV.fetch("PATH", nil)}" if formula.any_version_installed?
|
|
||||||
which(name).present?
|
|
||||||
end
|
|
||||||
|
|
||||||
def exchange_uid_if_needed!(&block)
|
|
||||||
euid = Process.euid
|
|
||||||
uid = Process.uid
|
|
||||||
return yield if euid == uid
|
|
||||||
|
|
||||||
old_euid = euid
|
|
||||||
process_reexchangeable = Process::UID.re_exchangeable?
|
|
||||||
if process_reexchangeable
|
|
||||||
Process::UID.re_exchange
|
|
||||||
else
|
|
||||||
Process::Sys.seteuid(uid)
|
|
||||||
end
|
|
||||||
|
|
||||||
home = T.must(Etc.getpwuid(Process.uid)).dir
|
|
||||||
return_value = with_env("HOME" => home, &block)
|
|
||||||
|
|
||||||
if process_reexchangeable
|
|
||||||
Process::UID.re_exchange
|
|
||||||
else
|
|
||||||
Process::Sys.seteuid(old_euid)
|
|
||||||
end
|
|
||||||
|
|
||||||
return_value
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
require "extend/os/bundle/bundle"
|
|
@ -1,6 +1,8 @@
|
|||||||
# typed: true # rubocop:todo Sorbet/StrictSigil
|
# typed: true # rubocop:todo Sorbet/StrictSigil
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "bundle/cask_installer"
|
||||||
|
|
||||||
module Homebrew
|
module Homebrew
|
||||||
module Bundle
|
module Bundle
|
||||||
module Checker
|
module Checker
|
||||||
|
@ -14,6 +14,7 @@ module Homebrew
|
|||||||
return true if outdated_casks.include?(name)
|
return true if outdated_casks.include?(name)
|
||||||
return false unless options[:greedy]
|
return false unless options[:greedy]
|
||||||
|
|
||||||
|
require "bundle/cask_dumper"
|
||||||
Homebrew::Bundle::CaskDumper.cask_is_outdated_using_greedy?(name)
|
Homebrew::Bundle::CaskDumper.cask_is_outdated_using_greedy?(name)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -95,10 +96,12 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.installed_casks
|
def self.installed_casks
|
||||||
|
require "bundle/cask_dumper"
|
||||||
@installed_casks ||= Homebrew::Bundle::CaskDumper.cask_names
|
@installed_casks ||= Homebrew::Bundle::CaskDumper.cask_names
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.outdated_casks
|
def self.outdated_casks
|
||||||
|
require "bundle/cask_dumper"
|
||||||
@outdated_casks ||= Homebrew::Bundle::CaskDumper.outdated_cask_names
|
@outdated_casks ||= Homebrew::Bundle::CaskDumper.outdated_cask_names
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -32,6 +32,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def checkable_entries(all_entries)
|
def checkable_entries(all_entries)
|
||||||
|
require "bundle/skipper"
|
||||||
all_entries.select { |e| e.type == self.class::PACKAGE_TYPE }
|
all_entries.select { |e| e.type == self.class::PACKAGE_TYPE }
|
||||||
.reject(&Bundle::Skipper.method(:skip?))
|
.reject(&Bundle::Skipper.method(:skip?))
|
||||||
end
|
end
|
||||||
@ -67,6 +68,7 @@ module Homebrew
|
|||||||
}.freeze
|
}.freeze
|
||||||
|
|
||||||
def self.check(global: false, file: nil, exit_on_first_error: false, no_upgrade: false, verbose: false)
|
def self.check(global: false, file: nil, exit_on_first_error: false, no_upgrade: false, verbose: false)
|
||||||
|
require "bundle/brewfile"
|
||||||
@dsl ||= Brewfile.read(global:, file:)
|
@dsl ||= Brewfile.read(global:, file:)
|
||||||
|
|
||||||
check_method_names = CHECKS.keys
|
check_method_names = CHECKS.keys
|
||||||
@ -88,6 +90,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.casks_to_install(exit_on_first_error: false, no_upgrade: false, verbose: false)
|
def self.casks_to_install(exit_on_first_error: false, no_upgrade: false, verbose: false)
|
||||||
|
require "bundle/cask_checker"
|
||||||
Homebrew::Bundle::Checker::CaskChecker.new.find_actionable(
|
Homebrew::Bundle::Checker::CaskChecker.new.find_actionable(
|
||||||
@dsl.entries,
|
@dsl.entries,
|
||||||
exit_on_first_error:, no_upgrade:, verbose:,
|
exit_on_first_error:, no_upgrade:, verbose:,
|
||||||
@ -95,6 +98,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.formulae_to_install(exit_on_first_error: false, no_upgrade: false, verbose: false)
|
def self.formulae_to_install(exit_on_first_error: false, no_upgrade: false, verbose: false)
|
||||||
|
require "bundle/brew_checker"
|
||||||
Homebrew::Bundle::Checker::BrewChecker.new.find_actionable(
|
Homebrew::Bundle::Checker::BrewChecker.new.find_actionable(
|
||||||
@dsl.entries,
|
@dsl.entries,
|
||||||
exit_on_first_error:, no_upgrade:, verbose:,
|
exit_on_first_error:, no_upgrade:, verbose:,
|
||||||
@ -102,6 +106,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.taps_to_tap(exit_on_first_error: false, no_upgrade: false, verbose: false)
|
def self.taps_to_tap(exit_on_first_error: false, no_upgrade: false, verbose: false)
|
||||||
|
require "bundle/tap_checker"
|
||||||
Homebrew::Bundle::Checker::TapChecker.new.find_actionable(
|
Homebrew::Bundle::Checker::TapChecker.new.find_actionable(
|
||||||
@dsl.entries,
|
@dsl.entries,
|
||||||
exit_on_first_error:, no_upgrade:, verbose:,
|
exit_on_first_error:, no_upgrade:, verbose:,
|
||||||
@ -109,6 +114,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.apps_to_install(exit_on_first_error: false, no_upgrade: false, verbose: false)
|
def self.apps_to_install(exit_on_first_error: false, no_upgrade: false, verbose: false)
|
||||||
|
require "bundle/mac_app_store_checker"
|
||||||
Homebrew::Bundle::Checker::MacAppStoreChecker.new.find_actionable(
|
Homebrew::Bundle::Checker::MacAppStoreChecker.new.find_actionable(
|
||||||
@dsl.entries,
|
@dsl.entries,
|
||||||
exit_on_first_error:, no_upgrade:, verbose:,
|
exit_on_first_error:, no_upgrade:, verbose:,
|
||||||
@ -116,6 +122,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.extensions_to_install(exit_on_first_error: false, no_upgrade: false, verbose: false)
|
def self.extensions_to_install(exit_on_first_error: false, no_upgrade: false, verbose: false)
|
||||||
|
require "bundle/vscode_extension_checker"
|
||||||
Homebrew::Bundle::Checker::VscodeExtensionChecker.new.find_actionable(
|
Homebrew::Bundle::Checker::VscodeExtensionChecker.new.find_actionable(
|
||||||
@dsl.entries,
|
@dsl.entries,
|
||||||
exit_on_first_error:, no_upgrade:, verbose:,
|
exit_on_first_error:, no_upgrade:, verbose:,
|
||||||
@ -123,6 +130,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.formulae_to_start(exit_on_first_error: false, no_upgrade: false, verbose: false)
|
def self.formulae_to_start(exit_on_first_error: false, no_upgrade: false, verbose: false)
|
||||||
|
require "bundle/brew_service_checker"
|
||||||
Homebrew::Bundle::Checker::BrewServiceChecker.new.find_actionable(
|
Homebrew::Bundle::Checker::BrewServiceChecker.new.find_actionable(
|
||||||
@dsl.entries,
|
@dsl.entries,
|
||||||
exit_on_first_error:, no_upgrade:, verbose:,
|
exit_on_first_error:, no_upgrade:, verbose:,
|
||||||
@ -130,6 +138,12 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.reset!
|
def self.reset!
|
||||||
|
require "bundle/cask_dumper"
|
||||||
|
require "bundle/brew_dumper"
|
||||||
|
require "bundle/mac_app_store_dumper"
|
||||||
|
require "bundle/tap_dumper"
|
||||||
|
require "bundle/brew_services"
|
||||||
|
|
||||||
@dsl = nil
|
@dsl = nil
|
||||||
Homebrew::Bundle::CaskDumper.reset!
|
Homebrew::Bundle::CaskDumper.reset!
|
||||||
Homebrew::Bundle::BrewDumper.reset!
|
Homebrew::Bundle::BrewDumper.reset!
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
# typed: true # rubocop:todo Sorbet/StrictSigil
|
# typed: true # rubocop:todo Sorbet/StrictSigil
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "bundle/adder"
|
||||||
|
|
||||||
module Homebrew
|
module Homebrew
|
||||||
module Bundle
|
module Bundle
|
||||||
module Commands
|
module Commands
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
# typed: true # rubocop:todo Sorbet/StrictSigil
|
# typed: true # rubocop:todo Sorbet/StrictSigil
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "bundle/checker"
|
||||||
|
|
||||||
module Homebrew
|
module Homebrew
|
||||||
module Bundle
|
module Bundle
|
||||||
module Commands
|
module Commands
|
||||||
|
@ -9,6 +9,12 @@ module Homebrew
|
|||||||
# TODO: refactor into multiple modules
|
# TODO: refactor into multiple modules
|
||||||
module Cleanup
|
module Cleanup
|
||||||
def self.reset!
|
def self.reset!
|
||||||
|
require "bundle/cask_dumper"
|
||||||
|
require "bundle/brew_dumper"
|
||||||
|
require "bundle/tap_dumper"
|
||||||
|
require "bundle/vscode_extension_dumper"
|
||||||
|
require "bundle/brew_services"
|
||||||
|
|
||||||
@dsl = nil
|
@dsl = nil
|
||||||
@kept_casks = nil
|
@kept_casks = nil
|
||||||
@kept_formulae = nil
|
@kept_formulae = nil
|
||||||
@ -87,12 +93,15 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.casks_to_uninstall(global: false, file: nil)
|
def self.casks_to_uninstall(global: false, file: nil)
|
||||||
|
require "bundle/cask_dumper"
|
||||||
Homebrew::Bundle::CaskDumper.cask_names - kept_casks(global:, file:)
|
Homebrew::Bundle::CaskDumper.cask_names - kept_casks(global:, file:)
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.formulae_to_uninstall(global: false, file: nil)
|
def self.formulae_to_uninstall(global: false, file: nil)
|
||||||
kept_formulae = self.kept_formulae(global:, file:)
|
kept_formulae = self.kept_formulae(global:, file:)
|
||||||
|
|
||||||
|
require "bundle/brew_dumper"
|
||||||
|
require "bundle/brew_installer"
|
||||||
current_formulae = Homebrew::Bundle::BrewDumper.formulae
|
current_formulae = Homebrew::Bundle::BrewDumper.formulae
|
||||||
current_formulae.reject! do |f|
|
current_formulae.reject! do |f|
|
||||||
Homebrew::Bundle::BrewInstaller.formula_in_array?(f[:full_name], kept_formulae)
|
Homebrew::Bundle::BrewInstaller.formula_in_array?(f[:full_name], kept_formulae)
|
||||||
@ -101,6 +110,10 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
private_class_method def self.kept_formulae(global: false, file: nil)
|
private_class_method def self.kept_formulae(global: false, file: nil)
|
||||||
|
require "bundle/brewfile"
|
||||||
|
require "bundle/brew_dumper"
|
||||||
|
require "bundle/cask_dumper"
|
||||||
|
|
||||||
@kept_formulae ||= begin
|
@kept_formulae ||= begin
|
||||||
@dsl ||= Brewfile.read(global:, file:)
|
@dsl ||= Brewfile.read(global:, file:)
|
||||||
|
|
||||||
@ -117,6 +130,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
private_class_method def self.kept_casks(global: false, file: nil)
|
private_class_method def self.kept_casks(global: false, file: nil)
|
||||||
|
require "bundle/brewfile"
|
||||||
return @kept_casks if @kept_casks
|
return @kept_casks if @kept_casks
|
||||||
|
|
||||||
@dsl ||= Brewfile.read(global:, file:)
|
@dsl ||= Brewfile.read(global:, file:)
|
||||||
@ -152,6 +166,9 @@ module Homebrew
|
|||||||
IGNORED_TAPS = %w[homebrew/core].freeze
|
IGNORED_TAPS = %w[homebrew/core].freeze
|
||||||
|
|
||||||
def self.taps_to_untap(global: false, file: nil)
|
def self.taps_to_untap(global: false, file: nil)
|
||||||
|
require "bundle/brewfile"
|
||||||
|
require "bundle/tap_dumper"
|
||||||
|
|
||||||
@dsl ||= Brewfile.read(global:, file:)
|
@dsl ||= Brewfile.read(global:, file:)
|
||||||
kept_formulae = self.kept_formulae(global:, file:).filter_map(&method(:lookup_formula))
|
kept_formulae = self.kept_formulae(global:, file:).filter_map(&method(:lookup_formula))
|
||||||
kept_taps = @dsl.entries.select { |e| e.type == :tap }.map(&:name)
|
kept_taps = @dsl.entries.select { |e| e.type == :tap }.map(&:name)
|
||||||
@ -168,6 +185,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.vscode_extensions_to_uninstall(global: false, file: nil)
|
def self.vscode_extensions_to_uninstall(global: false, file: nil)
|
||||||
|
require "bundle/brewfile"
|
||||||
@dsl ||= Brewfile.read(global:, file:)
|
@dsl ||= Brewfile.read(global:, file:)
|
||||||
kept_extensions = @dsl.entries.select { |e| e.type == :vscode }.map { |x| x.name.downcase }
|
kept_extensions = @dsl.entries.select { |e| e.type == :vscode }.map { |x| x.name.downcase }
|
||||||
|
|
||||||
@ -176,6 +194,7 @@ module Homebrew
|
|||||||
# find any in the `Brewfile`.
|
# find any in the `Brewfile`.
|
||||||
return [].freeze if kept_extensions.empty?
|
return [].freeze if kept_extensions.empty?
|
||||||
|
|
||||||
|
require "bundle/vscode_extension_dumper"
|
||||||
current_extensions = Homebrew::Bundle::VscodeExtensionDumper.extensions
|
current_extensions = Homebrew::Bundle::VscodeExtensionDumper.extensions
|
||||||
current_extensions - kept_extensions
|
current_extensions - kept_extensions
|
||||||
end
|
end
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
# typed: true # rubocop:todo Sorbet/StrictSigil
|
# typed: true # rubocop:todo Sorbet/StrictSigil
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "bundle/dumper"
|
||||||
|
|
||||||
module Homebrew
|
module Homebrew
|
||||||
module Bundle
|
module Bundle
|
||||||
module Commands
|
module Commands
|
||||||
|
@ -57,6 +57,7 @@ module Homebrew
|
|||||||
|
|
||||||
command = args.first
|
command = args.first
|
||||||
|
|
||||||
|
require "bundle/brewfile"
|
||||||
@dsl = Brewfile.read(global:, file:)
|
@dsl = Brewfile.read(global:, file:)
|
||||||
|
|
||||||
require "formula"
|
require "formula"
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
# typed: true # rubocop:todo Sorbet/StrictSigil
|
# typed: true # rubocop:todo Sorbet/StrictSigil
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "bundle/brewfile"
|
||||||
|
require "bundle/installer"
|
||||||
|
|
||||||
module Homebrew
|
module Homebrew
|
||||||
module Bundle
|
module Bundle
|
||||||
module Commands
|
module Commands
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
# typed: true # rubocop:todo Sorbet/StrictSigil
|
# typed: true # rubocop:todo Sorbet/StrictSigil
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "bundle/brewfile"
|
||||||
|
require "bundle/lister"
|
||||||
|
|
||||||
module Homebrew
|
module Homebrew
|
||||||
module Bundle
|
module Bundle
|
||||||
module Commands
|
module Commands
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
# typed: true # rubocop:todo Sorbet/StrictSigil
|
# typed: true # rubocop:todo Sorbet/StrictSigil
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "bundle/remover"
|
||||||
|
|
||||||
module Homebrew
|
module Homebrew
|
||||||
module Bundle
|
module Bundle
|
||||||
module Commands
|
module Commands
|
||||||
|
@ -14,6 +14,12 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.build_brewfile(describe:, no_restart:, brews:, taps:, casks:, mas:, whalebrew:, vscode:)
|
def self.build_brewfile(describe:, no_restart:, brews:, taps:, casks:, mas:, whalebrew:, vscode:)
|
||||||
|
require "bundle/tap_dumper"
|
||||||
|
require "bundle/cask_dumper"
|
||||||
|
require "bundle/mac_app_store_dumper"
|
||||||
|
require "bundle/whalebrew_dumper"
|
||||||
|
require "bundle/vscode_extension_dumper"
|
||||||
|
|
||||||
content = []
|
content = []
|
||||||
content << TapDumper.dump if taps
|
content << TapDumper.dump if taps
|
||||||
content << BrewDumper.dump(describe:, no_restart:) if brews
|
content << BrewDumper.dump(describe:, no_restart:) if brews
|
||||||
@ -33,6 +39,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.brewfile_path(global: false, file: nil)
|
def self.brewfile_path(global: false, file: nil)
|
||||||
|
require "bundle/brewfile"
|
||||||
Brewfile.path(dash_writes_to_stdout: true, global:, file:)
|
Brewfile.path(dash_writes_to_stdout: true, global:, file:)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1,6 +1,14 @@
|
|||||||
# typed: true # rubocop:todo Sorbet/StrictSigil
|
# typed: true # rubocop:todo Sorbet/StrictSigil
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "bundle/dsl"
|
||||||
|
require "bundle/brew_installer"
|
||||||
|
require "bundle/cask_installer"
|
||||||
|
require "bundle/mac_app_store_installer"
|
||||||
|
require "bundle/whalebrew_installer"
|
||||||
|
require "bundle/vscode_extension_installer"
|
||||||
|
require "bundle/tap_installer"
|
||||||
|
|
||||||
module Homebrew
|
module Homebrew
|
||||||
module Bundle
|
module Bundle
|
||||||
module Installer
|
module Installer
|
||||||
|
@ -61,6 +61,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.installed_app_ids
|
def self.installed_app_ids
|
||||||
|
require "bundle/mac_app_store_dumper"
|
||||||
@installed_app_ids ||= Homebrew::Bundle::MacAppStoreDumper.app_ids
|
@installed_app_ids ||= Homebrew::Bundle::MacAppStoreDumper.app_ids
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -5,6 +5,9 @@ module Homebrew
|
|||||||
module Bundle
|
module Bundle
|
||||||
module Remover
|
module Remover
|
||||||
def self.remove(*args, type:, global:, file:)
|
def self.remove(*args, type:, global:, file:)
|
||||||
|
require "bundle/brewfile"
|
||||||
|
require "bundle/dumper"
|
||||||
|
|
||||||
brewfile = Brewfile.read(global:, file:)
|
brewfile = Brewfile.read(global:, file:)
|
||||||
content = brewfile.input
|
content = brewfile.input
|
||||||
entry_type = type.to_s if type != :none
|
entry_type = type.to_s if type != :none
|
||||||
|
@ -8,6 +8,8 @@ module Homebrew
|
|||||||
module Skipper
|
module Skipper
|
||||||
class << self
|
class << self
|
||||||
def skip?(entry, silent: false)
|
def skip?(entry, silent: false)
|
||||||
|
require "bundle/brew_dumper"
|
||||||
|
|
||||||
# TODO: use extend/OS here
|
# TODO: use extend/OS here
|
||||||
# rubocop:todo Homebrew/MoveToExtendOS
|
# rubocop:todo Homebrew/MoveToExtendOS
|
||||||
if (Hardware::CPU.arm? || OS.linux?) &&
|
if (Hardware::CPU.arm? || OS.linux?) &&
|
||||||
|
@ -12,6 +12,7 @@ module Homebrew
|
|||||||
requested_taps = format_checkable(entries)
|
requested_taps = format_checkable(entries)
|
||||||
return [] if requested_taps.empty?
|
return [] if requested_taps.empty?
|
||||||
|
|
||||||
|
require "bundle/tap_dumper"
|
||||||
current_taps = Homebrew::Bundle::TapDumper.tap_names
|
current_taps = Homebrew::Bundle::TapDumper.tap_names
|
||||||
(requested_taps - current_taps).map { |entry| "Tap #{entry} needs to be tapped." }
|
(requested_taps - current_taps).map { |entry| "Tap #{entry} needs to be tapped." }
|
||||||
end
|
end
|
||||||
|
@ -28,6 +28,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
unless success
|
unless success
|
||||||
|
require "bundle/skipper"
|
||||||
Homebrew::Bundle::Skipper.tap_failed!(name)
|
Homebrew::Bundle::Skipper.tap_failed!(name)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
@ -37,6 +38,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.installed_taps
|
def self.installed_taps
|
||||||
|
require "bundle/tap_dumper"
|
||||||
@installed_taps ||= Homebrew::Bundle::TapDumper.tap_names
|
@installed_taps ||= Homebrew::Bundle::TapDumper.tap_names
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -13,6 +13,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def installed_and_up_to_date?(extension, no_upgrade: false)
|
def installed_and_up_to_date?(extension, no_upgrade: false)
|
||||||
|
require "bundle/vscode_extension_installer"
|
||||||
Homebrew::Bundle::VscodeExtensionInstaller.extension_installed?(extension)
|
Homebrew::Bundle::VscodeExtensionInstaller.extension_installed?(extension)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -44,6 +44,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.installed_extensions
|
def self.installed_extensions
|
||||||
|
require "bundle/vscode_extension_dumper"
|
||||||
@installed_extensions ||= Homebrew::Bundle::VscodeExtensionDumper.extensions
|
@installed_extensions ||= Homebrew::Bundle::VscodeExtensionDumper.extensions
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -40,6 +40,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.installed_images
|
def self.installed_images
|
||||||
|
require "bundle/whalebrew_dumper"
|
||||||
@installed_images ||= Homebrew::Bundle::WhalebrewDumper.images
|
@installed_images ||= Homebrew::Bundle::WhalebrewDumper.images
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -156,6 +156,7 @@ module Homebrew
|
|||||||
raise UsageError, "`--install` cannot be used with `install`, `upgrade` or no subcommand."
|
raise UsageError, "`--install` cannot be used with `install`, `upgrade` or no subcommand."
|
||||||
end
|
end
|
||||||
|
|
||||||
|
require "bundle/commands/install"
|
||||||
redirect_stdout($stderr) do
|
redirect_stdout($stderr) do
|
||||||
Homebrew::Bundle::Commands::Install.run(global:, file:, no_upgrade:, verbose:, force:, quiet: true)
|
Homebrew::Bundle::Commands::Install.run(global:, file:, no_upgrade:, verbose:, force:, quiet: true)
|
||||||
end
|
end
|
||||||
@ -163,6 +164,7 @@ module Homebrew
|
|||||||
|
|
||||||
case subcommand
|
case subcommand
|
||||||
when nil, "install", "upgrade"
|
when nil, "install", "upgrade"
|
||||||
|
require "bundle/commands/install"
|
||||||
Homebrew::Bundle::Commands::Install.run(global:, file:, no_upgrade:, verbose:, force:, quiet: args.quiet?)
|
Homebrew::Bundle::Commands::Install.run(global:, file:, no_upgrade:, verbose:, force:, quiet: args.quiet?)
|
||||||
|
|
||||||
cleanup = if ENV.fetch("HOMEBREW_BUNDLE_INSTALL_CLEANUP", nil)
|
cleanup = if ENV.fetch("HOMEBREW_BUNDLE_INSTALL_CLEANUP", nil)
|
||||||
@ -172,6 +174,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
if cleanup
|
if cleanup
|
||||||
|
require "bundle/commands/cleanup"
|
||||||
Homebrew::Bundle::Commands::Cleanup.run(
|
Homebrew::Bundle::Commands::Cleanup.run(
|
||||||
global:, file:, zap:,
|
global:, file:, zap:,
|
||||||
force: true,
|
force: true,
|
||||||
@ -187,6 +190,7 @@ module Homebrew
|
|||||||
no_type_args
|
no_type_args
|
||||||
end
|
end
|
||||||
|
|
||||||
|
require "bundle/commands/dump"
|
||||||
Homebrew::Bundle::Commands::Dump.run(
|
Homebrew::Bundle::Commands::Dump.run(
|
||||||
global:, file:, force:,
|
global:, file:, force:,
|
||||||
describe: args.describe?,
|
describe: args.describe?,
|
||||||
@ -199,10 +203,13 @@ module Homebrew
|
|||||||
vscode:
|
vscode:
|
||||||
)
|
)
|
||||||
when "edit"
|
when "edit"
|
||||||
|
require "bundle/brewfile"
|
||||||
exec_editor(Homebrew::Bundle::Brewfile.path(global:, file:))
|
exec_editor(Homebrew::Bundle::Brewfile.path(global:, file:))
|
||||||
when "cleanup"
|
when "cleanup"
|
||||||
|
require "bundle/commands/cleanup"
|
||||||
Homebrew::Bundle::Commands::Cleanup.run(global:, file:, force:, zap:)
|
Homebrew::Bundle::Commands::Cleanup.run(global:, file:, force:, zap:)
|
||||||
when "check"
|
when "check"
|
||||||
|
require "bundle/commands/check"
|
||||||
Homebrew::Bundle::Commands::Check.run(global:, file:, no_upgrade:, verbose:)
|
Homebrew::Bundle::Commands::Check.run(global:, file:, no_upgrade:, verbose:)
|
||||||
when "exec", "sh", "env"
|
when "exec", "sh", "env"
|
||||||
named_args = case subcommand
|
named_args = case subcommand
|
||||||
@ -225,8 +232,10 @@ module Homebrew
|
|||||||
when "env"
|
when "env"
|
||||||
["env"]
|
["env"]
|
||||||
end
|
end
|
||||||
|
require "bundle/commands/exec"
|
||||||
Homebrew::Bundle::Commands::Exec.run(*named_args, global:, file:, subcommand:)
|
Homebrew::Bundle::Commands::Exec.run(*named_args, global:, file:, subcommand:)
|
||||||
when "list"
|
when "list"
|
||||||
|
require "bundle/commands/list"
|
||||||
Homebrew::Bundle::Commands::List.run(
|
Homebrew::Bundle::Commands::List.run(
|
||||||
global:,
|
global:,
|
||||||
file:,
|
file:,
|
||||||
@ -259,8 +268,10 @@ module Homebrew
|
|||||||
else t
|
else t
|
||||||
end
|
end
|
||||||
|
|
||||||
|
require "bundle/commands/add"
|
||||||
Homebrew::Bundle::Commands::Add.run(*named_args, type:, global:, file:)
|
Homebrew::Bundle::Commands::Add.run(*named_args, type:, global:, file:)
|
||||||
else
|
else
|
||||||
|
require "bundle/commands/remove"
|
||||||
Homebrew::Bundle::Commands::Remove.run(*named_args, type: selected_types.first, global:, file:)
|
Homebrew::Bundle::Commands::Remove.run(*named_args, type: selected_types.first, global:, file:)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
require "ostruct"
|
require "ostruct"
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/brew_dumper"
|
||||||
require "tsort"
|
require "tsort"
|
||||||
require "formula"
|
require "formula"
|
||||||
require "tab"
|
require "tab"
|
||||||
|
@ -2,6 +2,9 @@
|
|||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
require "formula"
|
require "formula"
|
||||||
|
require "bundle/brew_installer"
|
||||||
|
require "bundle/brew_dumper"
|
||||||
|
require "bundle/brew_services"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::BrewInstaller do
|
RSpec.describe Homebrew::Bundle::BrewInstaller do
|
||||||
let(:formula_name) { "mysql" }
|
let(:formula_name) { "mysql" }
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/brew_services"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::BrewServices do
|
RSpec.describe Homebrew::Bundle::BrewServices do
|
||||||
describe ".started_services" do
|
describe ".started_services" do
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/brewfile"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::Brewfile do
|
RSpec.describe Homebrew::Bundle::Brewfile do
|
||||||
describe "path" do
|
describe "path" do
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/cask_dumper"
|
||||||
require "cask"
|
require "cask"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::CaskDumper do
|
RSpec.describe Homebrew::Bundle::CaskDumper do
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/cask_dumper"
|
||||||
|
require "bundle/cask_installer"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::CaskInstaller do
|
RSpec.describe Homebrew::Bundle::CaskInstaller do
|
||||||
describe ".installed_casks" do
|
describe ".installed_casks" do
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/commands/add"
|
||||||
require "cask/cask_loader"
|
require "cask/cask_loader"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::Commands::Add do
|
RSpec.describe Homebrew::Bundle::Commands::Add do
|
||||||
|
@ -1,6 +1,12 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/commands/check"
|
||||||
|
require "bundle/brew_checker"
|
||||||
|
require "bundle/mac_app_store_checker"
|
||||||
|
require "bundle/vscode_extension_checker"
|
||||||
|
require "bundle/brew_installer"
|
||||||
|
require "bundle/mac_app_store_installer"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::Commands::Check do
|
RSpec.describe Homebrew::Bundle::Commands::Check do
|
||||||
let(:do_check) do
|
let(:do_check) do
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/commands/cleanup"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::Commands::Cleanup do
|
RSpec.describe Homebrew::Bundle::Commands::Cleanup do
|
||||||
describe "read Brewfile and current installation" do
|
describe "read Brewfile and current installation" do
|
||||||
|
@ -1,6 +1,12 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/commands/dump"
|
||||||
|
require "bundle/cask_dumper"
|
||||||
|
require "bundle/brew_dumper"
|
||||||
|
require "bundle/tap_dumper"
|
||||||
|
require "bundle/whalebrew_dumper"
|
||||||
|
require "bundle/vscode_extension_dumper"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::Commands::Dump do
|
RSpec.describe Homebrew::Bundle::Commands::Dump do
|
||||||
subject(:dump) do
|
subject(:dump) do
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/commands/exec"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::Commands::Exec do
|
RSpec.describe Homebrew::Bundle::Commands::Exec do
|
||||||
context "when a Brewfile is not found" do
|
context "when a Brewfile is not found" do
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/commands/install"
|
||||||
|
require "bundle/skipper"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::Commands::Install do
|
RSpec.describe Homebrew::Bundle::Commands::Install do
|
||||||
before do
|
before do
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/commands/list"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::Commands::List do
|
RSpec.describe Homebrew::Bundle::Commands::List do
|
||||||
subject(:list) { described_class.run(global: false, file: nil, brews:, casks:, taps:, mas:, whalebrew:, vscode:) }
|
subject(:list) { described_class.run(global: false, file: nil, brews:, casks:, taps:, mas:, whalebrew:, vscode:) }
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/commands/remove"
|
||||||
require "cask/cask_loader"
|
require "cask/cask_loader"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::Commands::Remove do
|
RSpec.describe Homebrew::Bundle::Commands::Remove do
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/dsl"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::Dsl do
|
RSpec.describe Homebrew::Bundle::Dsl do
|
||||||
def dsl_from_string(string)
|
def dsl_from_string(string)
|
||||||
|
@ -1,6 +1,14 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/dumper"
|
||||||
|
require "bundle/brew_dumper"
|
||||||
|
require "bundle/tap_dumper"
|
||||||
|
require "bundle/cask_dumper"
|
||||||
|
require "bundle/mac_app_store_dumper"
|
||||||
|
require "bundle/whalebrew_dumper"
|
||||||
|
require "bundle/vscode_extension_dumper"
|
||||||
|
require "bundle/brew_services"
|
||||||
require "cask"
|
require "cask"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::Dumper do
|
RSpec.describe Homebrew::Bundle::Dumper do
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/mac_app_store_dumper"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::MacAppStoreDumper do
|
RSpec.describe Homebrew::Bundle::MacAppStoreDumper do
|
||||||
subject(:dumper) { described_class }
|
subject(:dumper) { described_class }
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/mac_app_store_installer"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::MacAppStoreInstaller do
|
RSpec.describe Homebrew::Bundle::MacAppStoreInstaller do
|
||||||
before do
|
before do
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/remover"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::Remover do
|
RSpec.describe Homebrew::Bundle::Remover do
|
||||||
subject(:remover) { described_class }
|
subject(:remover) { described_class }
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
require "ostruct"
|
require "ostruct"
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/skipper"
|
||||||
|
require "bundle/dsl"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::Skipper do
|
RSpec.describe Homebrew::Bundle::Skipper do
|
||||||
subject(:skipper) { described_class }
|
subject(:skipper) { described_class }
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/skipper"
|
||||||
|
require "bundle/tap_dumper"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::TapDumper do
|
RSpec.describe Homebrew::Bundle::TapDumper do
|
||||||
subject(:dumper) { described_class }
|
subject(:dumper) { described_class }
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/tap_installer"
|
||||||
|
require "bundle/tap_dumper"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::TapInstaller do
|
RSpec.describe Homebrew::Bundle::TapInstaller do
|
||||||
describe ".installed_taps" do
|
describe ".installed_taps" do
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/vscode_extension_installer"
|
||||||
require "extend/kernel"
|
require "extend/kernel"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::VscodeExtensionInstaller do
|
RSpec.describe Homebrew::Bundle::VscodeExtensionInstaller do
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/whalebrew_dumper"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::WhalebrewDumper do
|
RSpec.describe Homebrew::Bundle::WhalebrewDumper do
|
||||||
subject(:dumper) { described_class }
|
subject(:dumper) { described_class }
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "bundle"
|
require "bundle"
|
||||||
|
require "bundle/whalebrew_installer"
|
||||||
|
|
||||||
RSpec.describe Homebrew::Bundle::WhalebrewInstaller do
|
RSpec.describe Homebrew::Bundle::WhalebrewInstaller do
|
||||||
before do
|
before do
|
||||||
|
Loading…
x
Reference in New Issue
Block a user