Merge pull request #5251 from GauthamGoli/outdated-args
outdated: Use CLI::Parser to parse args
This commit is contained in:
commit
b04fa04306
@ -19,17 +19,45 @@
|
||||
|
||||
require "formula"
|
||||
require "keg"
|
||||
require "cli_parser"
|
||||
|
||||
module Homebrew
|
||||
module_function
|
||||
|
||||
def outdated_args
|
||||
Homebrew::CLI::Parser.new do
|
||||
usage_banner <<~EOS
|
||||
`outdated` [<options>]
|
||||
|
||||
Show formulae that have an updated version available.
|
||||
|
||||
By default, version information is displayed in interactive shells, and
|
||||
suppressed otherwise.
|
||||
EOS
|
||||
switch :quiet,
|
||||
description: "List only the names of outdated brews (takes precedence over `--verbose`)."
|
||||
switch :verbose,
|
||||
description: "Display detailed version information."
|
||||
flag "--json=",
|
||||
description: "Show output in JSON format for provided <version>. Currently the only "\
|
||||
"accepted value of <version> is `v1`."
|
||||
switch "--fetch-HEAD",
|
||||
description: "Fetch the upstream repository to detect if the HEAD installation of the "\
|
||||
"formula is outdated. Otherwise, the repository's HEAD will be checked for "\
|
||||
"updates when a new stable or devel version has been released."
|
||||
switch :debug
|
||||
end
|
||||
end
|
||||
|
||||
def outdated
|
||||
outdated_args.parse
|
||||
|
||||
formulae = if ARGV.resolved_formulae.empty?
|
||||
Formula.installed
|
||||
else
|
||||
ARGV.resolved_formulae
|
||||
end
|
||||
if ARGV.json == "v1"
|
||||
if args.json == "v1"
|
||||
outdated = print_outdated_json(formulae)
|
||||
else
|
||||
outdated = print_outdated(formulae)
|
||||
@ -38,8 +66,8 @@ module Homebrew
|
||||
end
|
||||
|
||||
def print_outdated(formulae)
|
||||
verbose = ($stdout.tty? || ARGV.verbose?) && !ARGV.flag?("--quiet")
|
||||
fetch_head = ARGV.fetch_head?
|
||||
verbose = ($stdout.tty? || args.verbose?) && !args.quiet?
|
||||
fetch_head = args.fetch_HEAD?
|
||||
|
||||
outdated_formulae = formulae.select { |f| f.outdated?(fetch_head: fetch_head) }
|
||||
.sort
|
||||
@ -76,7 +104,7 @@ module Homebrew
|
||||
|
||||
def print_outdated_json(formulae)
|
||||
json = []
|
||||
fetch_head = ARGV.fetch_head?
|
||||
fetch_head = args.fetch_HEAD?
|
||||
outdated_formulae = formulae.select { |f| f.outdated?(fetch_head: fetch_head) }
|
||||
|
||||
outdated = outdated_formulae.each do |f|
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user