API: supply additional data for requirements
This commit is contained in:
parent
486d498d6e
commit
5277f849d9
@ -1690,10 +1690,13 @@ class Formula
|
||||
end
|
||||
|
||||
hsh["requirements"] = requirements.map do |req|
|
||||
req.name.prepend("maximum_") if req.try(:comparator) == "<="
|
||||
{
|
||||
"name" => req.name,
|
||||
"cask" => req.cask,
|
||||
"download" => req.download,
|
||||
"version" => req.try(:version),
|
||||
"contexts" => req.tags,
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
@ -3,10 +3,10 @@
|
||||
require "language/java"
|
||||
|
||||
class JavaRequirement < Requirement
|
||||
attr_reader :java_home
|
||||
|
||||
fatal true
|
||||
|
||||
attr_reader :java_home, :version
|
||||
|
||||
# A strict Java 8 requirement (1.8) should prompt the user to install
|
||||
# an OpenJDK 1.8 distribution. Versions newer than Java 8 are not
|
||||
# completely backwards compatible, and contain breaking changes such as
|
||||
|
||||
@ -5,6 +5,8 @@ require "requirement"
|
||||
class MacOSRequirement < Requirement
|
||||
fatal true
|
||||
|
||||
attr_reader :comparator, :version
|
||||
|
||||
def initialize(tags = [], comparator: ">=")
|
||||
if comparator == "==" && tags.first.respond_to?(:map)
|
||||
@version = tags.shift.map { |s| MacOS::Version.from_symbol(s) }
|
||||
@ -54,6 +56,10 @@ class MacOSRequirement < Requirement
|
||||
end
|
||||
end
|
||||
|
||||
def inspect
|
||||
"#<#{self.class.name}: #{tags.inspect} version#{@comparator}#{@version}>"
|
||||
end
|
||||
|
||||
def display_s
|
||||
return "macOS is required" unless version_specified?
|
||||
|
||||
|
||||
@ -5,6 +5,8 @@ require "requirement"
|
||||
class XcodeRequirement < Requirement
|
||||
fatal true
|
||||
|
||||
attr_reader :version
|
||||
|
||||
satisfy(build_env: false) { xcode_installed_version }
|
||||
|
||||
def initialize(tags = [])
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user