Move formula analytics pretty name logic to MacOSVersion
.
This makes sense to centralize these so when we support new macOS versions we can just add them to the `VERSIONS_TO_ANALYTICS_PRETTY_NAMES` hash.
This commit is contained in:
parent
831f453bc7
commit
435158884d
@ -365,21 +365,14 @@ module Homebrew
|
|||||||
def format_os_version_dimension(dimension)
|
def format_os_version_dimension(dimension)
|
||||||
return if dimension.blank?
|
return if dimension.blank?
|
||||||
|
|
||||||
|
require "macos_version"
|
||||||
|
|
||||||
dimension = dimension.gsub(/^Intel ?/, "")
|
dimension = dimension.gsub(/^Intel ?/, "")
|
||||||
.gsub(/^macOS ?/, "")
|
.gsub(/^macOS ?/, "")
|
||||||
.gsub(/ \(.+\)$/, "")
|
.gsub(/ \(.+\)$/, "")
|
||||||
case dimension
|
case dimension
|
||||||
when "10.11", /^10\.11\.?/ then "OS X El Capitan (10.11)"
|
when (macos_pretty_name = ::MacOSVersion.analytics_pretty_name(dimension))
|
||||||
when "10.12", /^10\.12\.?/ then "macOS Sierra (10.12)"
|
macos_pretty_name
|
||||||
when "10.13", /^10\.13\.?/ then "macOS High Sierra (10.13)"
|
|
||||||
when "10.14", /^10\.14\.?/ then "macOS Mojave (10.14)"
|
|
||||||
when "10.15", /^10\.15\.?/ then "macOS Catalina (10.15)"
|
|
||||||
when "10.16", /^11\.?/ then "macOS Big Sur (11)"
|
|
||||||
when /^12\.?/ then "macOS Monterey (12)"
|
|
||||||
when /^13\.?/ then "macOS Ventura (13)"
|
|
||||||
when /^14\.?/ then "macOS Sonoma (14)"
|
|
||||||
when /^15\.?/ then "macOS Sequoia (15)"
|
|
||||||
when /^26\.?/ then "macOS Tahoe (26)"
|
|
||||||
when /Ubuntu(-Server)? (14|16|18|20|22)\.04/ then "Ubuntu #{Regexp.last_match(2)}.04 LTS"
|
when /Ubuntu(-Server)? (14|16|18|20|22)\.04/ then "Ubuntu #{Regexp.last_match(2)}.04 LTS"
|
||||||
when /Ubuntu(-Server)? (\d+\.\d+).\d ?(LTS)?/
|
when /Ubuntu(-Server)? (\d+\.\d+).\d ?(LTS)?/
|
||||||
"Ubuntu #{Regexp.last_match(2)} #{Regexp.last_match(3)}".strip
|
"Ubuntu #{Regexp.last_match(2)} #{Regexp.last_match(3)}".strip
|
||||||
|
@ -33,6 +33,32 @@ class MacOSVersion < Version
|
|||||||
el_capitan: "10.11",
|
el_capitan: "10.11",
|
||||||
}.freeze, T::Hash[Symbol, String])
|
}.freeze, T::Hash[Symbol, String])
|
||||||
|
|
||||||
|
# TODO: can be replaced with a call to `#pretty_name` once we remove support
|
||||||
|
# for El Capitan.
|
||||||
|
VERSIONS_TO_ANALYTICS_PRETTY_NAMES = T.let({
|
||||||
|
"26" => "macOS Tahoe (26)",
|
||||||
|
"15" => "macOS Sequoia (15)",
|
||||||
|
"14" => "macOS Sonoma (14)",
|
||||||
|
"13" => "macOS Ventura (13)",
|
||||||
|
"12" => "macOS Monterey (12)",
|
||||||
|
"11" => "macOS Big Sur (11)",
|
||||||
|
"10.16" => "macOS Big Sur (11)",
|
||||||
|
"10.15" => "macOS Catalina (10.15)",
|
||||||
|
"10.14" => "macOS Mojave (10.14)",
|
||||||
|
"10.13" => "macOS High Sierra (10.13)",
|
||||||
|
"10.12" => "macOS Sierra (10.12)",
|
||||||
|
"10.11" => "OS X El Capitan (10.11)",
|
||||||
|
}.freeze, T::Hash[String, String])
|
||||||
|
|
||||||
|
sig { params(version: String).returns(T.nilable(String)) }
|
||||||
|
def self.analytics_pretty_name(version)
|
||||||
|
VERSIONS_TO_ANALYTICS_PRETTY_NAMES.fetch(version) do
|
||||||
|
VERSIONS_TO_ANALYTICS_PRETTY_NAMES.find do |v, _|
|
||||||
|
version.start_with?(v)
|
||||||
|
end&.last
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
sig { params(macos_version: MacOSVersion).returns(Version) }
|
sig { params(macos_version: MacOSVersion).returns(Version) }
|
||||||
def self.kernel_major_version(macos_version)
|
def self.kernel_major_version(macos_version)
|
||||||
version_major = macos_version.major.to_i
|
version_major = macos_version.major.to_i
|
||||||
|
Loading…
x
Reference in New Issue
Block a user