Use cache if HOMEBREW_LINKAGE_CACHE
exists in formula_cellar_checks
and formula
. Make functions private in LinkageChecker
.
This commit is contained in:
parent
494bb624cc
commit
d3120c0206
@ -67,7 +67,8 @@ module FormulaCellarChecks
|
||||
keg = Keg.new(formula.prefix)
|
||||
|
||||
DatabaseCache.new(:linkage) do |database_cache|
|
||||
checker = LinkageChecker.new(keg, database_cache, false, formula)
|
||||
use_cache = !ENV["HOMEBREW_LINKAGE_CACHE"].nil?
|
||||
checker = LinkageChecker.new(keg, database_cache, use_cache, formula)
|
||||
|
||||
next unless checker.broken_library_linkage?
|
||||
output = <<~EOS
|
||||
|
@ -1528,7 +1528,8 @@ class Formula
|
||||
return [] unless keg
|
||||
|
||||
DatabaseCache.new(:linkage) do |database_cache|
|
||||
linkage_checker = LinkageChecker.new(keg, database_cache, false, self)
|
||||
use_cache = !ENV["HOMEBREW_LINKAGE_CACHE"].nil?
|
||||
linkage_checker = LinkageChecker.new(keg, database_cache, use_cache, self)
|
||||
break linkage_checker.undeclared_deps.map { |n| Dependency.new(n) }
|
||||
end
|
||||
end
|
||||
|
@ -10,46 +10,6 @@ class LinkageChecker
|
||||
flush_cache_and_check_dylibs unless use_cache
|
||||
end
|
||||
|
||||
# 'Hash-type' cache values
|
||||
|
||||
def brewed_dylibs
|
||||
@brewed_dylibs ||= store.fetch_type(:brewed_dylibs)
|
||||
end
|
||||
|
||||
def reverse_links
|
||||
@reverse_links ||= store.fetch_type(:reverse_links)
|
||||
end
|
||||
|
||||
def broken_deps
|
||||
@broken_deps ||= store.fetch_type(:broken_deps)
|
||||
end
|
||||
|
||||
# 'Path-type' cached values
|
||||
|
||||
def system_dylibs
|
||||
@system_dylibs ||= store.fetch_type(:system_dylibs)
|
||||
end
|
||||
|
||||
def broken_dylibs
|
||||
@broken_dylibs ||= store.fetch_type(:broken_dylibs)
|
||||
end
|
||||
|
||||
def variable_dylibs
|
||||
@variable_dylibs ||= store.fetch_type(:variable_dylibs)
|
||||
end
|
||||
|
||||
def undeclared_deps
|
||||
@undeclared_deps ||= store.fetch_type(:undeclared_deps)
|
||||
end
|
||||
|
||||
def indirect_deps
|
||||
@indirect_deps ||= store.fetch_type(:indirect_deps)
|
||||
end
|
||||
|
||||
def unnecessary_deps
|
||||
@unnecessary_deps ||= store.fetch_type(:unnecessary_deps)
|
||||
end
|
||||
|
||||
def display_normal_output
|
||||
display_items "System libraries", system_dylibs
|
||||
display_items "Homebrew libraries", brewed_dylibs
|
||||
@ -84,10 +44,50 @@ class LinkageChecker
|
||||
!@broken_dylibs.empty? || !@broken_deps.empty?
|
||||
end
|
||||
|
||||
def undeclared_deps
|
||||
@undeclared_deps ||= store.fetch_type(:undeclared_deps)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
attr_reader :keg, :formula, :store
|
||||
|
||||
# 'Hash-type' cache values
|
||||
|
||||
def brewed_dylibs
|
||||
@brewed_dylibs ||= store.fetch_type(:brewed_dylibs)
|
||||
end
|
||||
|
||||
def reverse_links
|
||||
@reverse_links ||= store.fetch_type(:reverse_links)
|
||||
end
|
||||
|
||||
def broken_deps
|
||||
@broken_deps ||= store.fetch_type(:broken_deps)
|
||||
end
|
||||
|
||||
# 'Path-type' cached values
|
||||
|
||||
def system_dylibs
|
||||
@system_dylibs ||= store.fetch_type(:system_dylibs)
|
||||
end
|
||||
|
||||
def broken_dylibs
|
||||
@broken_dylibs ||= store.fetch_type(:broken_dylibs)
|
||||
end
|
||||
|
||||
def variable_dylibs
|
||||
@variable_dylibs ||= store.fetch_type(:variable_dylibs)
|
||||
end
|
||||
|
||||
def indirect_deps
|
||||
@indirect_deps ||= store.fetch_type(:indirect_deps)
|
||||
end
|
||||
|
||||
def unnecessary_deps
|
||||
@unnecessary_deps ||= store.fetch_type(:unnecessary_deps)
|
||||
end
|
||||
|
||||
def dylib_to_dep(dylib)
|
||||
dylib =~ %r{#{Regexp.escape(HOMEBREW_PREFIX)}/(opt|Cellar)/([\w+-.@]+)/}
|
||||
Regexp.last_match(2)
|
||||
|
Loading…
x
Reference in New Issue
Block a user