diff --git a/Library/Homebrew/cask/audit.rb b/Library/Homebrew/cask/audit.rb index 0c3cf7773b..54599a685d 100644 --- a/Library/Homebrew/cask/audit.rb +++ b/Library/Homebrew/cask/audit.rb @@ -301,11 +301,16 @@ module Cask def check_appcast_contains_version return unless check_appcast? return if cask.appcast.to_s.empty? + return if cask.appcast.configuration == :no_check appcast_stanza = cask.appcast.to_s - appcast_contents, = curl_output("--max-time", "5", appcast_stanza) + appcast_contents, = curl_output("--location", "--max-time", "5", appcast_stanza) version_stanza = cask.version.to_s - adjusted_version_stanza = version_stanza.split(",")[0].split("-")[0].split("_")[0] + if cask.appcast.configuration.blank? + adjusted_version_stanza = version_stanza.split(",")[0].split("-")[0].split("_")[0] + else + adjusted_version_stanza = cask.appcast.configuration + end return if appcast_contents.include? adjusted_version_stanza add_warning "appcast at URL '#{appcast_stanza}' does not contain"\ diff --git a/Library/Homebrew/cask/dsl/appcast.rb b/Library/Homebrew/cask/dsl/appcast.rb index f2296ad942..695152dec3 100644 --- a/Library/Homebrew/cask/dsl/appcast.rb +++ b/Library/Homebrew/cask/dsl/appcast.rb @@ -3,11 +3,12 @@ module Cask class DSL class Appcast - attr_reader :uri, :parameters + attr_reader :uri, :parameters, :configuration def initialize(uri, **parameters) @uri = URI(uri) @parameters = parameters + @configuration = parameters[:configuration] if parameters.key?(:configuration) end def to_yaml