diff --git a/Library/Homebrew/cli/args.rb b/Library/Homebrew/cli/args.rb index a32c50b01c0cb..f494047c376a6 100644 --- a/Library/Homebrew/cli/args.rb +++ b/Library/Homebrew/cli/args.rb @@ -59,6 +59,8 @@ def passthrough end def named + return [] if remaining.nil? + remaining end diff --git a/Library/Homebrew/cmd/--cellar.rb b/Library/Homebrew/cmd/--cellar.rb index 859d90b6d8e11..096c31bbd6165 100644 --- a/Library/Homebrew/cmd/--cellar.rb +++ b/Library/Homebrew/cmd/--cellar.rb @@ -22,7 +22,7 @@ def __cellar_args def __cellar __cellar_args.parse - if ARGV.named.empty? + if Homebrew.args.named.blank? puts HOMEBREW_CELLAR else puts ARGV.resolved_formulae.map(&:rack) diff --git a/Library/Homebrew/cmd/--prefix.rb b/Library/Homebrew/cmd/--prefix.rb index 04135da0ac883..6969a00b26037 100644 --- a/Library/Homebrew/cmd/--prefix.rb +++ b/Library/Homebrew/cmd/--prefix.rb @@ -22,7 +22,7 @@ def __prefix_args def __prefix __prefix_args.parse - if ARGV.named.empty? + if Homebrew.args.named.blank? puts HOMEBREW_PREFIX else puts ARGV.resolved_formulae.map { |f| diff --git a/Library/Homebrew/cmd/info.rb b/Library/Homebrew/cmd/info.rb index 0f95eaa9e7ac6..30e0c3f3b786c 100644 --- a/Library/Homebrew/cmd/info.rb +++ b/Library/Homebrew/cmd/info.rb @@ -67,7 +67,7 @@ def info end if args.category.present? - if ARGV.named.present? && !VALID_FORMULA_CATEGORIES.include?(args.category) + if Homebrew.args.named.present? && !VALID_FORMULA_CATEGORIES.include?(args.category) raise UsageError, "--category must be one of #{VALID_FORMULA_CATEGORIES.join(", ")} when querying formulae" end @@ -78,13 +78,13 @@ def info if args.json raise UsageError, "Invalid JSON version: #{args.json}" unless ["v1", true].include? args.json - if !(args.all? || args.installed?) && ARGV.named.blank? + if !(args.all? || args.installed?) && Homebrew.args.named.blank? raise UsageError, "This command's option requires a formula argument" end print_json elsif args.github? - raise UsageError, "This command's option requires a formula argument" if ARGV.named.empty? + raise UsageError, "This command's option requires a formula argument" if Homebrew.args.named.blank? exec_browser(*Homebrew.args.formulae.map { |f| github_info(f) }) else @@ -93,7 +93,7 @@ def info end def print_info - if ARGV.named.empty? + if Homebrew.args.named.blank? if args.analytics? Utils::Analytics.output elsif HOMEBREW_CELLAR.exist? @@ -101,7 +101,7 @@ def print_info puts "#{count} #{"keg".pluralize(count)}, #{HOMEBREW_CELLAR.dup.abv}" end else - ARGV.named.each_with_index do |f, i| + Homebrew.args.named.each_with_index do |f, i| puts unless i.zero? begin formula = if f.include?("/") || File.exist?(f) diff --git a/Library/Homebrew/cmd/install.rb b/Library/Homebrew/cmd/install.rb index 44fb8bd961b44..82f21b1751947 100644 --- a/Library/Homebrew/cmd/install.rb +++ b/Library/Homebrew/cmd/install.rb @@ -92,7 +92,9 @@ def install_args end def install - ARGV.named.each do |name| + install_args.parse + + Homebrew.args.named.each do |name| next if File.exist?(name) next if name !~ HOMEBREW_TAP_FORMULA_REGEX && name !~ HOMEBREW_CASK_TAP_CASK_REGEX @@ -100,8 +102,6 @@ def install tap.install unless tap.installed? end - install_args.parse - raise FormulaUnspecifiedError if args.remaining.empty? if args.ignore_dependencies? diff --git a/Library/Homebrew/cmd/list.rb b/Library/Homebrew/cmd/list.rb index bcc05edc61a47..252cd7f75195b 100644 --- a/Library/Homebrew/cmd/list.rb +++ b/Library/Homebrew/cmd/list.rb @@ -55,14 +55,14 @@ def list # Unbrewed uses the PREFIX, which will exist # Things below use the CELLAR, which doesn't until the first formula is installed. unless HOMEBREW_CELLAR.exist? - raise NoSuchKegError, ARGV.named.first unless ARGV.named.empty? + raise NoSuchKegError, Hombrew.args.named.first if Homebrew.args.named.present? return end if args.pinned? || args.versions? filtered_list - elsif ARGV.named.empty? + elsif Homebrew.args.named.blank? if args.full_name? full_names = Formula.installed.map(&:full_name).sort(&tap_and_name_comparison) return if full_names.empty? @@ -123,10 +123,10 @@ def list_unbrewed end def filtered_list - names = if ARGV.named.empty? + names = if Homebrew.args.named.blank? Formula.racks else - racks = ARGV.named.map { |n| Formulary.to_rack(n) } + racks = Homebrew.args.named.map { |n| Formulary.to_rack(n) } racks.select do |rack| Homebrew.failed = true unless rack.exist? rack.exist? diff --git a/Library/Homebrew/cmd/migrate.rb b/Library/Homebrew/cmd/migrate.rb index d15b9998304bb..cce46897c7eeb 100644 --- a/Library/Homebrew/cmd/migrate.rb +++ b/Library/Homebrew/cmd/migrate.rb @@ -25,7 +25,7 @@ def migrate_args def migrate migrate_args.parse - raise FormulaUnspecifiedError if ARGV.named.empty? + raise FormulaUnspecifiedError if Homebrew.args.named.blank? ARGV.resolved_formulae.each do |f| if f.oldname diff --git a/Library/Homebrew/cmd/missing.rb b/Library/Homebrew/cmd/missing.rb index c8e41387f7be1..027b5110dc2fe 100644 --- a/Library/Homebrew/cmd/missing.rb +++ b/Library/Homebrew/cmd/missing.rb @@ -30,7 +30,7 @@ def missing return unless HOMEBREW_CELLAR.exist? - ff = if ARGV.named.empty? + ff = if Homebrew.args.named.blank? Formula.installed.sort else ARGV.resolved_formulae.sort diff --git a/Library/Homebrew/cmd/style.rb b/Library/Homebrew/cmd/style.rb index 560329f679e6a..65f17ba504f53 100644 --- a/Library/Homebrew/cmd/style.rb +++ b/Library/Homebrew/cmd/style.rb @@ -38,12 +38,12 @@ def style_args def style style_args.parse - target = if ARGV.named.empty? + target = if Homebrew.args.named.blank? nil - elsif ARGV.named.any? { |file| File.exist? file } - ARGV.named - elsif ARGV.named.any? { |tap| tap.count("/") == 1 } - ARGV.named.map { |tap| Tap.fetch(tap).path } + elsif Homebrew.args.named.any? { |file| File.exist? file } + Homebrew.args.named + elsif Homebrew.args.named.any? { |tap| tap.count("/") == 1 } + Homebrew.args.named.map { |tap| Tap.fetch(tap).path } else Homebrew.args.formulae.map(&:path) end diff --git a/Library/Homebrew/cmd/tap-info.rb b/Library/Homebrew/cmd/tap-info.rb index 73ff8097d45d7..d71e273b8d1c6 100644 --- a/Library/Homebrew/cmd/tap-info.rb +++ b/Library/Homebrew/cmd/tap-info.rb @@ -30,7 +30,7 @@ def tap_info if args.installed? taps = Tap else - taps = ARGV.named.sort.map do |name| + taps = Homebrew.args.named.sort.map do |name| Tap.fetch(name) end end diff --git a/Library/Homebrew/cmd/upgrade.rb b/Library/Homebrew/cmd/upgrade.rb index 02533042e6666..ed2765d7fb25b 100644 --- a/Library/Homebrew/cmd/upgrade.rb +++ b/Library/Homebrew/cmd/upgrade.rb @@ -61,7 +61,7 @@ def upgrade Install.perform_preinstall_checks - if ARGV.named.empty? + if Homebrew.args.named.blank? outdated = Formula.installed.select do |f| f.outdated?(fetch_head: args.fetch_HEAD?) end @@ -170,7 +170,7 @@ def upgrade_formula(f) fi = FormulaInstaller.new(f) fi.options = options fi.build_bottle = args.build_bottle? - fi.installed_on_request = !ARGV.named.empty? + fi.installed_on_request = Homebrew.args.named.present? fi.link_keg ||= keg_was_linked if keg_had_linked_opt if tab fi.build_bottle ||= tab.built_bottle? diff --git a/Library/Homebrew/cmd/uses.rb b/Library/Homebrew/cmd/uses.rb index 9f6e235bf27aa..e9151f71a2e90 100644 --- a/Library/Homebrew/cmd/uses.rb +++ b/Library/Homebrew/cmd/uses.rb @@ -55,7 +55,7 @@ def uses opoo e used_formulae_missing = true # If the formula doesn't exist: fake the needed formula object name. - ARGV.named.map { |name| OpenStruct.new name: name, full_name: name } + Homebrew.args.named.map { |name| OpenStruct.new name: name, full_name: name } end use_runtime_dependents = args.installed? && diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index 2b43cba6cec7b..13a706a333d0f 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -79,7 +79,7 @@ def audit ENV.activate_extensions! ENV.setup_build_environment - if ARGV.named.empty? + if Homebrew.args.named.blank? ff = Formula files = Tap.map(&:formula_dir) else diff --git a/Library/Homebrew/dev-cmd/bottle.rb b/Library/Homebrew/dev-cmd/bottle.rb index 25d073e8a82a7..b870e8d9aed11 100644 --- a/Library/Homebrew/dev-cmd/bottle.rb +++ b/Library/Homebrew/dev-cmd/bottle.rb @@ -427,9 +427,9 @@ def bottle_formula(f) def merge write = args.write? - raise UsageError, "--merge requires a JSON file path argument" if ARGV.named.empty? + raise UsageError, "--merge requires a JSON file path argument" if Homebrew.args.named.blank? - bottles_hash = ARGV.named.reduce({}) do |hash, json_file| + bottles_hash = Homebrew.args.named.reduce({}) do |hash, json_file| hash.deep_merge(JSON.parse(IO.read(json_file))) end diff --git a/Library/Homebrew/dev-cmd/formula.rb b/Library/Homebrew/dev-cmd/formula.rb index 75b2ed1590b4a..1bb5fba2f92bf 100644 --- a/Library/Homebrew/dev-cmd/formula.rb +++ b/Library/Homebrew/dev-cmd/formula.rb @@ -21,7 +21,7 @@ def formula_args def formula formula_args.parse - raise FormulaUnspecifiedError if ARGV.named.empty? + raise FormulaUnspecifiedError if Homebrew.args.named.blank? ARGV.resolved_formulae.each { |f| puts f.path } end