Модуль: OS::Mac::SystemConfig::ClassMethods Закрытый
- Расширено модулем:
- T::Helpers
- Определено в:
- extend/os/mac/system_config.rb
Этот модуль является частью закрытого API. Этот модуль можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого модуля, поскольку он может быть удалён или изменён без предупреждения.
Краткое описание методов экземпляра свернуть
- #clt ⇒ Version? закрытый
- #core_tap_config(out = $stdout) ⇒ void закрытый
- #describe_clang ⇒ String закрытый
- #dump_verbose_config(out = $stdout) ⇒ void закрытый
- #initialize ⇒ void закрытый
- #metal_toolchain ⇒ String? закрытый
- #xcode ⇒ String? закрытый
Подробное описание методов экземпляра
#clt ⇒ Version?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
38 39 40 | # File 'extend/os/mac/system_config.rb', line 38 def clt @clt ||= MacOS::CLT.version if MacOS::CLT.installed? end |
#core_tap_config(out = $stdout) ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
43 44 45 46 | # File 'extend/os/mac/system_config.rb', line 43 def core_tap_config(out = $stdout) dump_tap_config(CoreTap.instance, out) dump_tap_config(CoreCaskTap.instance, out) end |
#describe_clang ⇒ String
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
21 22 23 24 25 26 | # File 'extend/os/mac/system_config.rb', line 21 def describe_clang return "N/A" if ::SystemConfig.clang.null? clang_build_info = ::SystemConfig.clang_build.null? ? "(parse error)" : ::SystemConfig.clang_build "#{::SystemConfig.clang} build #{clang_build_info}" end |
#dump_verbose_config(out = $stdout) ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
65 66 67 68 69 70 71 72 73 74 75 | # File 'extend/os/mac/system_config.rb', line 65 def dump_verbose_config(out = $stdout) super out.puts "macOS: #{MacOS.full_version}-#{kernel}" out.puts "CLT: #{clt || "N/A"}" out.puts "Xcode: #{xcode || "N/A"}" # Metal Toolchain is a separate install starting with Xcode 26. if ::Hardware::CPU.arm64? && MacOS::Xcode.installed? && MacOS::Xcode.version >= "26.0" out.puts "Metal Toolchain: #{ || "N/A"}" end out.puts "Rosetta 2: #{::Hardware::CPU.in_rosetta2?}" if ::Hardware::CPU.physical_cpu_arm64? end |
#initialize ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
15 16 17 18 | # File 'extend/os/mac/system_config.rb', line 15 def initialize @xcode = T.let(nil, T.nilable(String)) @clt = T.let(nil, T.nilable(Version)) end |
#metal_toolchain ⇒ String?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
49 50 51 52 53 54 55 56 57 58 59 60 61 62 | # File 'extend/os/mac/system_config.rb', line 49 def return unless ::Hardware::CPU.arm64? @metal_toolchain ||= T.let(nil, T.nilable(String)) @metal_toolchain ||= if MacOS::Xcode.installed? || MacOS::CLT.installed? result = SystemCommand.run("xcrun", args: ["--find", "metal"], print_stderr: false, print_stdout: false) pattern = /MetalToolchain-v(?<major>\d+)\.(?<letter>\d+)\.(?<build>\d+)\.(?<minor>\d+)/ if result.success? && (m = result.stdout.match(pattern)) letter = ("A".ord - 1 + m[:letter].to_i).chr "#{m[:major]}.#{m[:minor]} (#{m[:major]}#{letter}#{m[:build]})" end end end |
#xcode ⇒ String?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
29 30 31 32 33 34 35 | # File 'extend/os/mac/system_config.rb', line 29 def xcode @xcode ||= if MacOS::Xcode.installed? xcode = MacOS::Xcode.version.to_s xcode += " => #{MacOS::Xcode.prefix}" unless MacOS::Xcode.default_prefix? xcode end end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/OS/Mac/SystemConfig/ClassMethods.html