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)
|
keg = Keg.new(formula.prefix)
|
||||||
|
|
||||||
DatabaseCache.new(:linkage) do |database_cache|
|
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?
|
next unless checker.broken_library_linkage?
|
||||||
output = <<~EOS
|
output = <<~EOS
|
||||||
|
@ -1528,7 +1528,8 @@ class Formula
|
|||||||
return [] unless keg
|
return [] unless keg
|
||||||
|
|
||||||
DatabaseCache.new(:linkage) do |database_cache|
|
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) }
|
break linkage_checker.undeclared_deps.map { |n| Dependency.new(n) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -10,46 +10,6 @@ class LinkageChecker
|
|||||||
flush_cache_and_check_dylibs unless use_cache
|
flush_cache_and_check_dylibs unless use_cache
|
||||||
end
|
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
|
def display_normal_output
|
||||||
display_items "System libraries", system_dylibs
|
display_items "System libraries", system_dylibs
|
||||||
display_items "Homebrew libraries", brewed_dylibs
|
display_items "Homebrew libraries", brewed_dylibs
|
||||||
@ -84,10 +44,50 @@ class LinkageChecker
|
|||||||
!@broken_dylibs.empty? || !@broken_deps.empty?
|
!@broken_dylibs.empty? || !@broken_deps.empty?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def undeclared_deps
|
||||||
|
@undeclared_deps ||= store.fetch_type(:undeclared_deps)
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
attr_reader :keg, :formula, :store
|
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)
|
def dylib_to_dep(dylib)
|
||||||
dylib =~ %r{#{Regexp.escape(HOMEBREW_PREFIX)}/(opt|Cellar)/([\w+-.@]+)/}
|
dylib =~ %r{#{Regexp.escape(HOMEBREW_PREFIX)}/(opt|Cellar)/([\w+-.@]+)/}
|
||||||
Regexp.last_match(2)
|
Regexp.last_match(2)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user