diff --git a/Library/Homebrew/autobump_constants.rb b/Library/Homebrew/autobump_constants.rb index 15f6ed8ea5..0803803fe6 100644 --- a/Library/Homebrew/autobump_constants.rb +++ b/Library/Homebrew/autobump_constants.rb @@ -5,4 +5,6 @@ NO_AUTOBUMP_REASONS_LIST = T.let({ incompatible_version_format: "incompatible version format", bumped_by_upstream: "bumped by upstream", + extract_plist: "livecheck uses `:extract_plist` strategy", + latest_version: "`version` is set to `:latest`", }.freeze, T::Hash[Symbol, String]) diff --git a/Library/Homebrew/cask/dsl.rb b/Library/Homebrew/cask/dsl.rb index 5363e58237..2387eabb30 100644 --- a/Library/Homebrew/cask/dsl.rb +++ b/Library/Homebrew/cask/dsl.rb @@ -161,6 +161,8 @@ module Cask @token = T.let(cask.token, String) @url = T.let(nil, T.nilable(URL)) @version = T.let(nil, T.nilable(DSL::Version)) + + set_no_autobump! end sig { returns(T::Boolean) } @@ -175,6 +177,13 @@ module Cask sig { returns(T::Boolean) } def livecheck_defined? = @livecheck_defined + sig { void } + def set_no_autobump! + return if @livecheck.strategy != :extract_plist + + no_autobump! because: :extract_plist + end + sig { returns(T::Boolean) } def on_system_blocks_exist? = @on_system_blocks_exist @@ -351,6 +360,8 @@ module Cask raise CaskInvalidError.new(cask, "invalid 'version' value: #{arg.inspect}") end + no_autobump! because: :latest_version if arg == :latest + DSL::Version.new(arg) end end