mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Check tap migrations for renames.
This commit is contained in:
parent
b4d602e70b
commit
a3a1b4c253
@ -85,9 +85,9 @@ module Cask
|
||||
# An old name for the cask.
|
||||
sig { returns(T::Array[String]) }
|
||||
def old_tokens
|
||||
@old_tokens ||= if tap
|
||||
tap.cask_renames
|
||||
.flat_map { |old_token, new_token| (new_token == token) ? old_token : [] }
|
||||
@old_tokens ||= if (tap = self.tap)
|
||||
Tap.reverse_tap_migrations_renames.fetch("#{tap}/#{token}", []) +
|
||||
tap.reverse_cask_renames.fetch(token, [])
|
||||
else
|
||||
[]
|
||||
end
|
||||
|
@ -540,7 +540,12 @@ class Formula
|
||||
# Old names for the formula.
|
||||
sig { returns(T::Array[String]) }
|
||||
def oldnames
|
||||
@oldnames ||= tap&.formula_oldnames&.dig(name) || []
|
||||
@oldnames ||= if (tap = self.tap)
|
||||
Tap.reverse_tap_migrations_renames.fetch("#{tap}/#{name}", []) +
|
||||
tap.formula_reverse_renames.fetch(name, [])
|
||||
else
|
||||
[]
|
||||
end
|
||||
end
|
||||
|
||||
# All aliases for the formula.
|
||||
|
@ -758,6 +758,15 @@ class Tap
|
||||
end
|
||||
end
|
||||
|
||||
# Hash with tap formula old names. Reverse of {#formula_renames}.
|
||||
sig { returns(T::Hash[String, T::Array[String]]) }
|
||||
def reverse_cask_renames
|
||||
@reverse_cask_renames ||= cask_renames.each_with_object({}) do |(old_name, new_name), hash|
|
||||
hash[new_name] ||= []
|
||||
hash[new_name] << old_name
|
||||
end
|
||||
end
|
||||
|
||||
# Hash with tap formula renames.
|
||||
sig { returns(T::Hash[String, String]) }
|
||||
def formula_renames
|
||||
@ -770,15 +779,30 @@ class Tap
|
||||
|
||||
# Hash with tap formula old names. Reverse of {#formula_renames}.
|
||||
sig { returns(T::Hash[String, T::Array[String]]) }
|
||||
def formula_oldnames
|
||||
@formula_oldnames ||= formula_renames.each_with_object({}) do |(old_name, new_name), hash|
|
||||
def formula_reverse_renames
|
||||
@formula_reverse_renames ||= formula_renames.each_with_object({}) do |(old_name, new_name), hash|
|
||||
hash[new_name] ||= []
|
||||
hash[new_name] << old_name
|
||||
end
|
||||
end
|
||||
|
||||
sig { returns(T::Hash[String, T::Array[String]]) }
|
||||
def self.reverse_tap_migrations_renames
|
||||
Tap.each_with_object({}) do |tap, hash|
|
||||
tap.tap_migrations.each do |old_name, new_name|
|
||||
new_tap_user, new_tap_repo, new_name = new_name.split("/", 3)
|
||||
next unless new_name
|
||||
|
||||
new_tap = Tap.fetch(new_tap_user, new_tap_repo)
|
||||
|
||||
hash["#{new_tap}/#{new_name}"] ||= []
|
||||
hash["#{new_tap}/#{new_name}"] << old_name
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Hash with tap migrations.
|
||||
sig { returns(Hash) }
|
||||
sig { returns(T::Hash[String, String]) }
|
||||
def tap_migrations
|
||||
@tap_migrations ||= if (migration_file = path/HOMEBREW_TAP_MIGRATIONS_FILE).file?
|
||||
JSON.parse(migration_file.read)
|
||||
|
Loading…
x
Reference in New Issue
Block a user