formula_auditor: disallow external tap dependencies in core

Occasionally, we get PRs that attempt to add a dependency on a formula
in an external tap in homebrew/core (e.g. Homebrew/homebrew-core#94791).

We don't actually have an audit that disallows that. We should have one.
This commit is contained in:
Carlo Cabrera 2022-02-10 06:57:46 +08:00
parent b7a69ca5a5
commit 6c9c3c607c
No known key found for this signature in database
GPG Key ID: C74D447FC549A1D0

View File

@ -289,6 +289,13 @@ module Homebrew
next unless @core_tap
unless dep_f.tap.core_tap?
problem <<~EOS
Dependency '#{dep.name}' is not in homebrew/core. Formulae in homebrew/core
should not have dependencies in external taps.
EOS
end
# we want to allow uses_from_macos for aliases but not bare dependencies
if self.class.aliases.include?(dep.name) && spec.uses_from_macos_names.exclude?(dep.name)
problem "Dependency '#{dep.name}' is an alias; use the canonical name '#{dep.to_formula.full_name}'."