ExtractPlist: Modify #find_versions url usage
This commit is contained in:
parent
077fb350a5
commit
d7a26cd6d3
@ -20,7 +20,7 @@ module Cask
|
|||||||
|
|
||||||
attr_reader :token, :sourcefile_path, :source, :config, :default_config
|
attr_reader :token, :sourcefile_path, :source, :config, :default_config
|
||||||
|
|
||||||
attr_accessor :download
|
attr_accessor :download, :allow_reassignment
|
||||||
|
|
||||||
def self.all
|
def self.all
|
||||||
Tap.flat_map(&:cask_files).map do |f|
|
Tap.flat_map(&:cask_files).map do |f|
|
||||||
@ -38,11 +38,12 @@ module Cask
|
|||||||
@tap
|
@tap
|
||||||
end
|
end
|
||||||
|
|
||||||
def initialize(token, sourcefile_path: nil, source: nil, tap: nil, config: nil, &block)
|
def initialize(token, sourcefile_path: nil, source: nil, tap: nil, config: nil, allow_reassignment: false, &block)
|
||||||
@token = token
|
@token = token
|
||||||
@sourcefile_path = sourcefile_path
|
@sourcefile_path = sourcefile_path
|
||||||
@source = source
|
@source = source
|
||||||
@tap = tap
|
@tap = tap
|
||||||
|
@allow_reassignment = allow_reassignment
|
||||||
@block = block
|
@block = block
|
||||||
|
|
||||||
@default_config = config || Config.new
|
@default_config = config || Config.new
|
||||||
|
|||||||
@ -112,7 +112,7 @@ module Cask
|
|||||||
def set_unique_stanza(stanza, should_return)
|
def set_unique_stanza(stanza, should_return)
|
||||||
return instance_variable_get("@#{stanza}") if should_return
|
return instance_variable_get("@#{stanza}") if should_return
|
||||||
|
|
||||||
if instance_variable_defined?("@#{stanza}")
|
if !@cask.allow_reassignment && instance_variable_defined?("@#{stanza}")
|
||||||
raise CaskInvalidError.new(cask, "'#{stanza}' stanza may only appear once.")
|
raise CaskInvalidError.new(cask, "'#{stanza}' stanza may only appear once.")
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -137,7 +137,7 @@ module Cask
|
|||||||
|
|
||||||
return unless default
|
return unless default
|
||||||
|
|
||||||
unless @language_blocks.default.nil?
|
if !@cask.allow_reassignment && @language_blocks.default.present?
|
||||||
raise CaskInvalidError.new(cask, "Only one default language may be defined.")
|
raise CaskInvalidError.new(cask, "Only one default language may be defined.")
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -294,7 +294,9 @@ module Cask
|
|||||||
@livecheck ||= Livecheck.new(self)
|
@livecheck ||= Livecheck.new(self)
|
||||||
return @livecheck unless block
|
return @livecheck unless block
|
||||||
|
|
||||||
raise CaskInvalidError.new(cask, "'livecheck' stanza may only appear once.") if @livecheckable
|
if !@cask.allow_reassignment && @livecheckable
|
||||||
|
raise CaskInvalidError.new(cask, "'livecheck' stanza may only appear once.")
|
||||||
|
end
|
||||||
|
|
||||||
@livecheckable = true
|
@livecheckable = true
|
||||||
@livecheck.instance_eval(&block)
|
@livecheck.instance_eval(&block)
|
||||||
|
|||||||
@ -103,14 +103,14 @@ module Homebrew
|
|||||||
|
|
||||||
match_data = { matches: {}, regex: regex, url: url }
|
match_data = { matches: {}, regex: regex, url: url }
|
||||||
|
|
||||||
if url && url != cask.url.to_s
|
unversioned_cask_checker = if url.present? && url != cask.url.to_s
|
||||||
cask_object_for_livecheck = Cask::Cask.new("livecheck-cask", config: cask.config) do
|
# Create a copy of the `cask` that uses the `livecheck` block URL
|
||||||
url url.to_s
|
cask_copy = Cask::CaskLoader.load(cask.full_name)
|
||||||
end
|
cask_copy.allow_reassignment = true
|
||||||
|
cask_copy.url { url }
|
||||||
unversioned_cask_checker = UnversionedCaskChecker.new(cask, livecheck_url: cask_object_for_livecheck)
|
UnversionedCaskChecker.new(cask_copy)
|
||||||
else
|
else
|
||||||
unversioned_cask_checker = UnversionedCaskChecker.new(cask)
|
UnversionedCaskChecker.new(cask)
|
||||||
end
|
end
|
||||||
|
|
||||||
items = unversioned_cask_checker.all_versions.transform_values { |v| Item.new(bundle_version: v) }
|
items = unversioned_cask_checker.all_versions.transform_values { |v| Item.new(bundle_version: v) }
|
||||||
|
|||||||
@ -15,21 +15,15 @@ module Homebrew
|
|||||||
|
|
||||||
sig { returns(Cask::Cask) }
|
sig { returns(Cask::Cask) }
|
||||||
attr_reader :cask
|
attr_reader :cask
|
||||||
attr_reader :livecheck_url
|
|
||||||
|
|
||||||
sig { params(cask: Cask::Cask, livecheck_url: T.nilable(Cask::Cask)).void }
|
sig { params(cask: Cask::Cask).void }
|
||||||
def initialize(cask, livecheck_url: nil)
|
def initialize(cask)
|
||||||
@cask = cask
|
@cask = cask
|
||||||
@livecheck_url = livecheck_url
|
|
||||||
end
|
end
|
||||||
|
|
||||||
sig { returns(Cask::Installer) }
|
sig { returns(Cask::Installer) }
|
||||||
def installer
|
def installer
|
||||||
@installer ||= if livecheck_url
|
@installer ||= Cask::Installer.new(cask, verify_download_integrity: false)
|
||||||
Cask::Installer.new(livecheck_url, verify_download_integrity: false)
|
|
||||||
else
|
|
||||||
Cask::Installer.new(cask, verify_download_integrity: false)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
sig { returns(T::Array[Cask::Artifact::App]) }
|
sig { returns(T::Array[Cask::Artifact::App]) }
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user