Merge pull request #11667 from bevanjkay/livecheck-extractplist-qlplugins

unversioned_cask_checker: check for versions in qlplugins
This commit is contained in:
Mike McQuaid 2021-08-23 14:45:51 +01:00 committed by GitHub
commit 6f21758b2a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 5 deletions

View File

@ -91,7 +91,9 @@ module Homebrew
unversioned_cask_checker = UnversionedCaskChecker.new(cask) unversioned_cask_checker = UnversionedCaskChecker.new(cask)
if !unversioned_cask_checker.single_app_cask? && !unversioned_cask_checker.single_pkg_cask? if !unversioned_cask_checker.single_app_cask? &&
!unversioned_cask_checker.single_pkg_cask? &&
!unversioned_cask_checker.single_qlplugin_cask?
opoo "Skipping, not a single-app or PKG cask." opoo "Skipping, not a single-app or PKG cask."
return return
end end

View File

@ -31,6 +31,11 @@ module Homebrew
@apps ||= @cask.artifacts.select { |a| a.is_a?(Cask::Artifact::App) } @apps ||= @cask.artifacts.select { |a| a.is_a?(Cask::Artifact::App) }
end end
sig { returns(T::Array[Cask::Artifact::Qlplugin]) }
def qlplugins
@qlplugins ||= @cask.artifacts.select { |a| a.is_a?(Cask::Artifact::Qlplugin) }
end
sig { returns(T::Array[Cask::Artifact::Pkg]) } sig { returns(T::Array[Cask::Artifact::Pkg]) }
def pkgs def pkgs
@pkgs ||= @cask.artifacts.select { |a| a.is_a?(Cask::Artifact::Pkg) } @pkgs ||= @cask.artifacts.select { |a| a.is_a?(Cask::Artifact::Pkg) }
@ -41,6 +46,11 @@ module Homebrew
apps.count == 1 apps.count == 1
end end
sig { returns(T::Boolean) }
def single_qlplugin_cask?
qlplugins.count == 1
end
sig { returns(T::Boolean) } sig { returns(T::Boolean) }
def single_pkg_cask? def single_pkg_cask?
pkgs.count == 1 pkgs.count == 1
@ -78,8 +88,8 @@ module Homebrew
installer.extract_primary_container(to: dir) installer.extract_primary_container(to: dir)
info_plist_paths = apps.flat_map do |app| info_plist_paths = apps.concat(qlplugins).flat_map do |artifact|
top_level_info_plists(Pathname.glob(dir/"**"/app.source.basename/"Contents"/"Info.plist")).sort top_level_info_plists(Pathname.glob(dir/"**"/artifact.source.basename/"Contents"/"Info.plist")).sort
end end
info_plist_paths.each(&parse_info_plist) info_plist_paths.each(&parse_info_plist)
@ -112,8 +122,8 @@ module Homebrew
sig { returns(T.nilable(String)) } sig { returns(T.nilable(String)) }
def guess_cask_version def guess_cask_version
if apps.empty? && pkgs.empty? if apps.empty? && pkgs.empty? && qlplugins.empty?
opoo "Cask #{cask} does not contain any apps or PKG installers." opoo "Cask #{cask} does not contain any apps, qlplugins or PKG installers."
return return
end end