diff --git a/Library/Homebrew/dev-cmd/linkage.rb b/Library/Homebrew/dev-cmd/linkage.rb index 65f38e8502..267a57f4f4 100644 --- a/Library/Homebrew/dev-cmd/linkage.rb +++ b/Library/Homebrew/dev-cmd/linkage.rb @@ -15,22 +15,31 @@ require "cache_store" require "linkage_checker" +require "cli_parser" module Homebrew module_function def linkage + Homebrew::CLI::Parser.parse do + switch "--test" + switch "--reverse" + switch "--cached" + switch :verbose + switch :debug + end + CacheStoreDatabase.use(:linkage) do |db| ARGV.kegs.each do |keg| ohai "Checking #{keg.name} linkage" if ARGV.kegs.size > 1 - use_cache = ARGV.include?("--cached") || ENV["HOMEBREW_LINKAGE_CACHE"] + use_cache = args.cached? || ENV["HOMEBREW_LINKAGE_CACHE"] result = LinkageChecker.new(keg, use_cache: use_cache, cache_db: db) - if ARGV.include?("--test") + if args.test? result.display_test_output Homebrew.failed = true if result.broken_library_linkage? - elsif ARGV.include?("--reverse") + elsif args.reverse? result.display_reverse_output else result.display_normal_output