Class: XcodeRequirement Private
- Inherits:
-
Requirement
- Object
- Requirement
- XcodeRequirement
- Defined in:
- requirements/xcode_requirement.rb,
extend/os/linux/requirements/xcode_requirement.rb
Overview
This class is part of a private API. This class may only be used in the Homebrew/brew repository. Third parties should avoid using this class if possible, as it may be removed or changed without warning.
A requirement on Xcode.
Constant Summary
Constants included from Dependable
Instance Attribute Summary collapse
- #version ⇒ Object readonly private
Attributes inherited from Requirement
Attributes included from Dependable
Instance Method Summary collapse
- #display_s ⇒ Object private
-
#initialize(tags = []) ⇒ XcodeRequirement
constructor
private
A new instance of XcodeRequirement.
- #message ⇒ String private
- #xcode_installed_version ⇒ Boolean private
Methods inherited from Requirement
cask, download, #env, env, #env_proc, expand, fatal, #fatal?, #mktemp, #modify_build_environment, #option_names, prune, prune?, #satisfied?, #satisfied_result_parent, satisfy
Methods included from BuildEnvironment::DSL
Methods included from Cachable
Methods included from Attrable
Methods included from Dependable
#build?, #implicit?, #option_tags, #optional?, #options, #prune_from_option?, #prune_if_build_and_not_dependent?, #recommended?, #required?, #test?
Constructor Details
#initialize(tags = []) ⇒ XcodeRequirement
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
Returns a new instance of XcodeRequirement.
17 18 19 20 |
# File 'requirements/xcode_requirement.rb', line 17 def initialize( = []) @version = .shift if .first.to_s.match?(/(\d\.)+\d/) super end |
Instance Attribute Details
#version ⇒ Object (readonly)
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
10 11 12 |
# File 'requirements/xcode_requirement.rb', line 10 def version @version end |
Instance Method Details
#display_s ⇒ Object
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
56 57 58 59 60 |
# File 'requirements/xcode_requirement.rb', line 56 def display_s return "#{name.capitalize} (on macOS)" unless @version "#{name.capitalize} >= #{@version} (on macOS)" end |
#message ⇒ String
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'requirements/xcode_requirement.rb', line 31 def version = " #{@version}" if @version = <<~EOS A full installation of Xcode.app#{version} is required to compile this software. Installing just the Command Line Tools is not sufficient. EOS if @version && Version.new(MacOS::Xcode.latest_version) < Version.new(@version) + <<~EOS Xcode#{version} cannot be installed on macOS #{MacOS.version}. You must upgrade your version of macOS. EOS else + <<~EOS Xcode can be installed from the App Store. EOS end end |
#xcode_installed_version ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
8 9 10 |
# File 'extend/os/linux/requirements/xcode_requirement.rb', line 8 def xcode_installed_version true end |