From bf51e3ea14cc4432accf88fabe1a00e27813c81a Mon Sep 17 00:00:00 2001 From: Gautham Goli Date: Mon, 5 Nov 2018 18:23:26 +0530 Subject: [PATCH] readall: Use CLI::Parser to parse args --- Library/Homebrew/cmd/readall.rb | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/cmd/readall.rb b/Library/Homebrew/cmd/readall.rb index 0a581c383b..3d51c83733 100644 --- a/Library/Homebrew/cmd/readall.rb +++ b/Library/Homebrew/cmd/readall.rb @@ -10,19 +10,41 @@ #: If `--syntax` is passed, also syntax-check all of Homebrew's Ruby files. require "readall" +require "cli_parser" module Homebrew module_function + def readall_args + Homebrew::CLI::Parser.new do + usage_banner <<~EOS + `readall` [] [] + + Import all formulae from specified (defaults to all installed taps). + This can be useful for debugging issues across all formulae when making + significant changes to `formula.rb`, testing the performance of loading + all formulae or to determine if any current formulae have Ruby issues. + EOS + switch "--aliases", + description: "Verify any alias symlinks in each tap." + switch "--syntax", + description: "Syntax-check all of Homebrew's Ruby files." + switch :verbose + switch :debug + end + end + def readall - if ARGV.include?("--syntax") + readall_args.parse + + if args.syntax? scan_files = "#{HOMEBREW_LIBRARY_PATH}/**/*.rb" ruby_files = Dir.glob(scan_files).reject { |file| file =~ %r{/(vendor|cask)/} } Homebrew.failed = true unless Readall.valid_ruby_syntax?(ruby_files) end - options = { aliases: ARGV.include?("--aliases") } + options = { aliases: args.aliases? } taps = if ARGV.named.empty? Tap else