Skip to content

Commit

Permalink
Merge pull request #16622 from reitermarkus/audit-tap-aliases-renames
Browse files Browse the repository at this point in the history
Audit taps for duplicates in aliases/renames.
  • Loading branch information
MikeMcQuaid authored Feb 9, 2024
2 parents babebfd + b6c061a commit 73f9869
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion Library/Homebrew/tap_auditor.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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 }
Expand All @@ -23,6 +23,7 @@ def initialize(tap, strict:)
@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
Expand All @@ -33,6 +34,7 @@ def initialize(tap, strict:)
def audit
audit_json_files
audit_tap_formula_lists
audit_aliases_renames_duplicates
end

sig { void }
Expand All @@ -52,6 +54,14 @@ def audit_tap_formula_lists
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 })
Expand Down

0 comments on commit 73f9869

Please sign in to comment.