Merge pull request #7105 from EricFromCanada/json-requirements
API: supply additional data for requirements
This commit is contained in:
		
						commit
						0d7100e686
					
				@ -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