 80d75bc0d8
			
		
	
	
		80d75bc0d8
		
			
		
	
	
	
	
		
			
			Adjust the rules based on the current codebase. Remove various enable, disables and default values that are unnecessary. Add more comments explaining why. Make minor changes needed to enable a few more rules.
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| #:  * `linkage` [`--test`] [`--reverse`] [<formulae>]:
 | |
| #:    Checks the library links of installed formulae.
 | |
| #:
 | |
| #:    Only works on installed formulae. An error is raised if it is run on
 | |
| #:    uninstalled formulae.
 | |
| #:
 | |
| #:    If `--test` is passed, only display missing libraries and exit with a
 | |
| #:    non-zero exit code if any missing libraries were found.
 | |
| #:
 | |
| #:    If `--reverse` is passed, print the dylib followed by the binaries
 | |
| #:    which link to it for each library the keg references.
 | |
| #:
 | |
| #:    If <formulae> are given, check linkage for only the specified brews.
 | |
| 
 | |
| 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 :verbose
 | |
|       switch :debug
 | |
|     end
 | |
| 
 | |
|     CacheStoreDatabase.use(:linkage) do |db|
 | |
|       kegs = if ARGV.kegs.empty?
 | |
|         Formula.installed.map(&:opt_or_installed_prefix_keg).reject(&:nil?)
 | |
|       else
 | |
|         ARGV.kegs
 | |
|       end
 | |
|       kegs.each do |keg|
 | |
|         ohai "Checking #{keg.name} linkage" if kegs.size > 1
 | |
| 
 | |
|         result = LinkageChecker.new(keg, cache_db: db)
 | |
| 
 | |
|         if args.test?
 | |
|           result.display_test_output
 | |
|           Homebrew.failed = true if result.broken_library_linkage?
 | |
|         elsif args.reverse?
 | |
|           result.display_reverse_output
 | |
|         else
 | |
|           result.display_normal_output
 | |
|         end
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 |