linkage_checker: handle missing formulae.
This commit is contained in:
parent
3c0443123f
commit
c167614797
@ -62,10 +62,17 @@ class LinkageChecker
|
|||||||
next false unless dep.optional? || dep.recommended?
|
next false unless dep.optional? || dep.recommended?
|
||||||
formula.build.without?(dep)
|
formula.build.without?(dep)
|
||||||
end
|
end
|
||||||
|
|
||||||
declared_deps = formula.deps.reject { |dep| filter_out.call(dep) }.map(&:name)
|
declared_deps = formula.deps.reject { |dep| filter_out.call(dep) }.map(&:name)
|
||||||
runtime_deps = keg.to_formula.declared_runtime_dependencies
|
|
||||||
recursive_deps = runtime_deps.map { |dep| dep.to_formula.name }
|
|
||||||
declared_dep_names = declared_deps.map { |dep| dep.split("/").last }
|
declared_dep_names = declared_deps.map { |dep| dep.split("/").last }
|
||||||
|
recursive_deps = formula.declared_runtime_dependencies.map do |dep|
|
||||||
|
begin
|
||||||
|
dep.to_formula.name
|
||||||
|
rescue FormulaUnavailableError
|
||||||
|
nil
|
||||||
|
end
|
||||||
|
end.compact
|
||||||
|
|
||||||
indirect_deps = []
|
indirect_deps = []
|
||||||
undeclared_deps = []
|
undeclared_deps = []
|
||||||
@brewed_dylibs.each_key do |full_name|
|
@brewed_dylibs.each_key do |full_name|
|
||||||
@ -77,13 +84,16 @@ class LinkageChecker
|
|||||||
undeclared_deps << full_name
|
undeclared_deps << full_name
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
sort_by_formula_full_name!(indirect_deps)
|
sort_by_formula_full_name!(indirect_deps)
|
||||||
sort_by_formula_full_name!(undeclared_deps)
|
sort_by_formula_full_name!(undeclared_deps)
|
||||||
|
|
||||||
unnecessary_deps = declared_dep_names.reject do |full_name|
|
unnecessary_deps = declared_dep_names.reject do |full_name|
|
||||||
name = full_name.split("/").last
|
name = full_name.split("/").last
|
||||||
next true if Formula[name].bin.directory?
|
next true if Formula[name].bin.directory?
|
||||||
@brewed_dylibs.keys.map { |x| x.split("/").last }.include?(name)
|
@brewed_dylibs.keys.map { |x| x.split("/").last }.include?(name)
|
||||||
end
|
end
|
||||||
|
|
||||||
[indirect_deps, undeclared_deps, unnecessary_deps]
|
[indirect_deps, undeclared_deps, unnecessary_deps]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user