Skip to content

Commit 1c111b0

Browse files
committed
formula: restore using replacement from disable!
Previous behavior before #21644 This allows providing a single `replacement_formula:` on the `disable!` stanza rather than duplicating it in both `disable!` and `deprecate!`.
1 parent 45a6f3a commit 1c111b0

File tree

1 file changed

+32
-24
lines changed

1 file changed

+32
-24
lines changed

Library/Homebrew/formula.rb

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4674,29 +4674,33 @@ def deprecate!(date:, because:, replacement: nil, replacement_formula: nil, repl
46744674
raise ArgumentError, "more than one of replacement, replacement_formula and/or replacement_cask specified!"
46754675
end
46764676

4677+
@deprecate_args = T.let(
4678+
{ date:, because:, replacement_formula:, replacement_cask: },
4679+
T.nilable(T::Hash[Symbol, T.nilable(T.any(String, Symbol))]),
4680+
)
4681+
46774682
if replacement
4683+
replacement_formula ||= replacement
4684+
replacement_cask ||= replacement
46784685
odeprecated(
46794686
"deprecate!(:replacement)",
46804687
"deprecate!(:replacement_formula) or deprecate!(:replacement_cask)",
46814688
)
46824689
end
46834690

4684-
@deprecate_args = T.let(
4685-
{ date:, because:, replacement_formula:, replacement_cask: },
4686-
T.nilable(T::Hash[Symbol, T.nilable(T.any(String, Symbol))]),
4687-
)
4691+
deprecation_date = Date.parse(date)
4692+
@deprecation_date = T.let(deprecation_date, T.nilable(Date))
4693+
@deprecated = T.let(deprecation_date <= Date.today, T.nilable(T::Boolean))
46884694

4689-
@deprecation_date = T.let(Date.parse(date), T.nilable(Date))
4690-
@deprecated = T.let(T.must(@deprecation_date) <= Date.today, T.nilable(T::Boolean))
46914695
if @deprecated
4692-
@deprecation_reason = T.let(because, T.nilable(T.any(String, Symbol)))
4693-
@deprecation_replacement_formula = T.let(replacement_formula.presence || replacement, T.nilable(String))
4694-
@deprecation_replacement_cask = T.let(replacement_cask.presence || replacement, T.nilable(String))
4696+
@deprecation_reason = because if because
4697+
@deprecation_replacement_formula = replacement_formula if replacement_formula
4698+
@deprecation_replacement_cask = replacement_cask if replacement_cask
46954699
else
46964700
# Reset these to handle disable! before deprecate!
4697-
@deprecation_reason = nil
4698-
@deprecation_replacement_formula = nil
4699-
@deprecation_replacement_cask = nil
4701+
@deprecation_reason = T.let(nil, T.nilable(T.any(String, Symbol)))
4702+
@deprecation_replacement_formula = T.let(nil, T.nilable(String))
4703+
@deprecation_replacement_cask = T.let(nil, T.nilable(String))
47004704
end
47014705
end
47024706

@@ -4784,27 +4788,31 @@ def disable!(date:, because:, replacement: nil, replacement_formula: nil, replac
47844788
raise ArgumentError, "more than one of replacement, replacement_formula and/or replacement_cask specified!"
47854789
end
47864790

4791+
@disable_args = T.let(
4792+
{ date:, because:, replacement_formula:, replacement_cask: },
4793+
T.nilable(T::Hash[Symbol, T.nilable(T.any(String, Symbol))]),
4794+
)
4795+
47874796
if replacement
4797+
replacement_formula ||= replacement
4798+
replacement_cask ||= replacement
47884799
odeprecated(
47894800
"disable!(:replacement)",
47904801
"disable!(:replacement_formula) or disable!(:replacement_cask)",
47914802
)
47924803
end
47934804

4794-
@disable_args = T.let(
4795-
{ date:, because:, replacement_formula:, replacement_cask: },
4796-
T.nilable(T::Hash[Symbol, T.nilable(T.any(String, Symbol))]),
4797-
)
4798-
4799-
@disable_date = T.let(Date.parse(date), T.nilable(Date))
4805+
disable_date = Date.parse(date)
4806+
@disable_date = T.let(disable_date, T.nilable(Date))
48004807

4801-
if T.must(@disable_date) > Date.today
4802-
return if @deprecation_date.present?
4808+
if disable_date > Date.today
4809+
return if @deprecation_date.present? && !@deprecated
48034810

4804-
@deprecation_reason = T.let(because, T.nilable(T.any(String, Symbol)))
4805-
@deprecation_replacement_formula = T.let(replacement_formula.presence || replacement, T.nilable(String))
4806-
@deprecation_replacement_cask = T.let(replacement_cask.presence || replacement, T.nilable(String))
4807-
@deprecated = T.let(true, T.nilable(T::Boolean))
4811+
# Use `disable!` information if not set in `deprecate!`
4812+
@deprecation_reason ||= because
4813+
@deprecation_replacement_formula ||= replacement_formula
4814+
@deprecation_replacement_cask ||= replacement_cask
4815+
@deprecated ||= true
48084816
return
48094817
end
48104818

0 commit comments

Comments
 (0)