From b6c061ad1851c60cb4ccdef14a61bb41c83a46b2 Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Thu, 8 Feb 2024 15:30:20 +0100 Subject: [PATCH] Audit taps for duplicates in aliases/renames. --- Library/Homebrew/tap_auditor.rb | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/tap_auditor.rb b/Library/Homebrew/tap_auditor.rb index cf4a7f877d..2910236abd 100644 --- a/Library/Homebrew/tap_auditor.rb +++ b/Library/Homebrew/tap_auditor.rb @@ -6,7 +6,7 @@ module Homebrew # # @api private class TapAuditor - attr_reader :name, :path, :formula_names, :formula_aliases, :cask_tokens, + attr_reader :name, :path, :formula_names, :formula_aliases, :formula_renames, :cask_tokens, :tap_audit_exceptions, :tap_style_exceptions, :tap_pypi_formula_mappings, :problems sig { params(tap: Tap, strict: T.nilable(T::Boolean)).void } @@ -23,6 +23,7 @@ module Homebrew @formula_aliases = tap.aliases.map do |formula_alias| formula_alias.split("/").last end + @formula_renames = tap.formula_renames @formula_names = tap.formula_names.map do |formula_name| formula_name.split("/").last end @@ -33,6 +34,7 @@ module Homebrew def audit audit_json_files audit_tap_formula_lists + audit_aliases_renames_duplicates end sig { void } @@ -52,6 +54,14 @@ module Homebrew check_formula_list "pypi_formula_mappings", @tap_pypi_formula_mappings end + sig { void } + def audit_aliases_renames_duplicates + duplicates = formula_aliases & formula_renames.keys + return if duplicates.none? + + problem "The following should either be an alias or a rename, not both: #{duplicates.to_sentence}" + end + sig { params(message: String).void } def problem(message) @problems << ({ message: message, location: nil, corrected: false })