dylib_to_dep: use Regexp
This commit is contained in:
		
							parent
							
								
									1501354ee7
								
							
						
					
					
						commit
						81042c63fb
					
				@ -22,7 +22,11 @@ class LinkageChecker
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def dylib_to_dep(dylib)
 | 
			
		||||
    dylib.sub("#{HOMEBREW_PREFIX}/opt/", "").sub("#{HOMEBREW_CELLAR}/", "").split("/")[0]
 | 
			
		||||
    if dylib =~ %r{#{Regexp.escape(HOMEBREW_PREFIX)}/(opt|Cellar)/([\w+-.@]+)/}
 | 
			
		||||
      Regexp.last_match(2)
 | 
			
		||||
    else
 | 
			
		||||
      "Not a Homebrew library"
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def check_dylibs
 | 
			
		||||
@ -90,13 +94,7 @@ class LinkageChecker
 | 
			
		||||
      next true if Formula[name].bin.directory?
 | 
			
		||||
      @brewed_dylibs.keys.map { |x| x.split("/").last }.include?(name)
 | 
			
		||||
    end
 | 
			
		||||
    missing = Set.new
 | 
			
		||||
    @broken_dylibs.each_value do |value|
 | 
			
		||||
      value.each do |str|
 | 
			
		||||
        missing << dylib_to_dep(str) if str.start_with?("#{HOMEBREW_PREFIX}/opt", HOMEBREW_CELLAR)
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
    unnecessary_deps -= missing.to_a
 | 
			
		||||
    unnecessary_deps -= @broken_dylibs.map { |_, v| v.map { |d| dylib_to_dep(d) } }.flatten
 | 
			
		||||
    [indirect_deps, undeclared_deps, unnecessary_deps]
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user