formula_auditor: add audit for formulae with synced versions

This commit is contained in:
Alexander Bayandin 2021-10-20 20:14:51 +01:00
parent 000f5ba701
commit ce2d946a7c
No known key found for this signature in database
GPG Key ID: 444BD9CA93262701

View File

@ -118,6 +118,31 @@ module Homebrew
@aliases ||= Formula.aliases + Formula.tap_aliases @aliases ||= Formula.aliases + Formula.tap_aliases
end end
SYNCED_VERSIONS_FORMULAE_FILE = "synced_versions_formulae.json"
def audit_synced_versions_formulae
synced_versions_formulae_file = formula.tap.path/SYNCED_VERSIONS_FORMULAE_FILE
return unless synced_versions_formulae_file.file?
name = formula.name
version = formula.version
synced_versions_formulae = JSON.parse(synced_versions_formulae_file.read)
synced_versions_formulae.each do |synced_version_formulae|
next unless synced_version_formulae.include? name
synced_version_formulae.each do |synced_formula|
next if synced_formula == name
if (synced_version = Formulary.factory(synced_formula).version) != version
problem "Version of `#{synced_formula}` (#{synced_version}) should match version of `#{name}` (#{version})"
end
end
break
end
end
def audit_formula_name def audit_formula_name
name = formula.name name = formula.name