Merge pull request #7105 from EricFromCanada/json-requirements

API: supply additional data for requirements
This commit is contained in:
Mike McQuaid 2020-03-04 11:47:10 +00:00 committed by GitHub
commit 0d7100e686
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 13 additions and 2 deletions

View File

@ -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

View File

@ -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

View File

@ -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?

View File

@ -5,6 +5,8 @@ require "requirement"
class XcodeRequirement < Requirement
fatal true
attr_reader :version
satisfy(build_env: false) { xcode_installed_version }
def initialize(tags = [])