2015-08-03 13:09:07 +01:00
|
|
|
require "requirement"
|
2013-05-24 08:37:16 -07:00
|
|
|
|
2017-10-06 10:12:09 -07:00
|
|
|
class MacOSRequirement < Requirement
|
2013-05-24 08:37:16 -07:00
|
|
|
fatal true
|
|
|
|
|
2017-02-25 10:17:25 -08:00
|
|
|
def initialize(tags = [])
|
|
|
|
@version = MacOS::Version.from_symbol(tags.first) unless tags.empty?
|
2013-05-24 08:37:16 -07:00
|
|
|
super
|
|
|
|
end
|
|
|
|
|
2017-02-25 10:17:25 -08:00
|
|
|
def minimum_version_specified?
|
|
|
|
OS.mac? && @version
|
|
|
|
end
|
|
|
|
|
|
|
|
satisfy(build_env: false) do
|
|
|
|
next MacOS.version >= @version if minimum_version_specified?
|
|
|
|
next true if OS.mac?
|
|
|
|
next true if @version
|
|
|
|
false
|
|
|
|
end
|
2013-05-24 08:37:16 -07:00
|
|
|
|
|
|
|
def message
|
2017-02-25 10:17:25 -08:00
|
|
|
return "macOS is required." unless minimum_version_specified?
|
2016-09-18 19:57:19 +01:00
|
|
|
"macOS #{@version.pretty_name} or newer is required."
|
2013-05-24 08:37:16 -07:00
|
|
|
end
|
2016-09-18 00:37:02 -04:00
|
|
|
|
|
|
|
def display_s
|
2017-02-25 10:17:25 -08:00
|
|
|
return "macOS is required" unless minimum_version_specified?
|
2016-09-18 00:37:02 -04:00
|
|
|
"macOS >= #{@version}"
|
|
|
|
end
|
2013-05-24 08:37:16 -07:00
|
|
|
end
|