Spec-Zone.ru › Homebrew

Класс: UsesFromMacOSDependency Приватный

Наследует:
Dependency
  • Object
  • Dependency
  • UsesFromMacOSDependency
показать все
Определён в:
dependency/uses_from_macos_dependency.rb

Обзор

Этот класс является частью закрытого API. Этот класс можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот класс, поскольку он может быть удалён или изменён без предупреждения.

Зависимость, помеченная как «установленная» в macOS

Сводка констант

Константы, включённые из Dependable

Dependable::KEEP_BUT_PRUNE_RECURSIVE_DEPS, Dependable::PRUNE, Dependable::RESERVED_TAGS, Dependable::SKIP

Сводка атрибутов экземпляра свернуть

  • #bounds ⇒ Hash{Symbol => Symbol} только для чтения приватный

Атрибуты, унаследованные от Dependency

#name, #tags, #tap

Сводка методов экземпляра свернуть

  • #dup_with_formula_name(formula) ⇒ T.self_type приватный
  • #initialize(name, tags = [], bounds:) ⇒ void конструктор приватный
  • #installed?(minimum_version: nil, minimum_revision: nil, minimum_compatibility_version: nil, bottle_os_version: nil) ⇒ Boolean приватный
  • #use_macos_install?(bottle_os_version: nil) ⇒ Boolean приватный
  • #uses_from_macos? ⇒ Boolean приватный

Методы, унаследованные от Dependency

action, cache, clear_cache, delete_timestamped_cache_entry, expand, merge_repeats, #missing_options, #option_names, #satisfied?, #to_formula, #to_installed_formula

Методы, включённые из Dependable

#build?, #implicit?, #no_linkage?, #option_names, #option_tags, #optional?, #options, #prune_from_option?, #prune_if_build_and_not_dependent?, #recommended?, #required?, #tags, #test?

Подробное описание конструкторов

#initialize(name, tags = [], bounds:) ⇒ void

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Параметры:

  • name (String)
  • tags (Array<String, Symbol, Array<T.untyped>>) (по умолчанию: [])
  • bounds (Hash{Symbol => Symbol})


10
11
12
13
14
# File 'dependency/uses_from_macos_dependency.rb', line 10

def initialize(name, tags = [], bounds:)
  super(name, tags)

  @bounds = bounds
end

Подробное описание атрибутов экземпляра

#bounds ⇒ Hash{Symbol => Symbol} (только для чтения)

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Hash{Symbol => Symbol})


7
8
9
# File 'dependency/uses_from_macos_dependency.rb', line 7

def bounds
  @bounds
end

Подробное описание методов экземпляра

#dup_with_formula_name(formula) ⇒ T.self_type

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Параметры:

  • formula (Formula)

Возвращает:

  • (T.self_type)


85
86
87
# File 'dependency/uses_from_macos_dependency.rb', line 85

def dup_with_formula_name(formula)
  self.class.new(formula.full_name.to_s, tags, bounds:)
end

#installed?(minimum_version: nil, minimum_revision: nil, minimum_compatibility_version: nil, bottle_os_version: nil) ⇒ Boolean

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Параметры:

  • minimum_version (Version, nil) (по умолчанию: nil)
  • minimum_revision (Integer, nil) (по умолчанию: nil)
  • minimum_compatibility_version (Integer, nil) (по умолчанию: nil)
  • bottle_os_version (String, nil) (по умолчанию: nil)

Возвращает:

  • (Boolean)


38
39
40
41
# File 'dependency/uses_from_macos_dependency.rb', line 38

def installed?(minimum_version: nil, minimum_revision: nil, minimum_compatibility_version: nil,
               bottle_os_version: nil)
  use_macos_install?(bottle_os_version:) || super
end

#use_macos_install?(bottle_os_version: nil) ⇒ Boolean

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Параметры:

  • bottle_os_version (String, nil) (по умолчанию: nil)

Возвращает:

  • (Boolean)


44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'dependency/uses_from_macos_dependency.rb', line 44

def use_macos_install?(bottle_os_version: nil)
  # Check whether macOS is new enough for dependency to not be required.
  if Homebrew::SimulateSystem.simulating_or_running_on_macos?
    # If there's no since bound, the dependency is always available from macOS
    since_os_bounds = bounds[:since]
    return true if since_os_bounds.blank?

    # When installing a bottle built on an older macOS version, use that version
    # to determine if the dependency should come from macOS or Homebrew
    effective_os = if bottle_os_version.present? &&
                      bottle_os_version.start_with?("macOS ")
      # bottle_os_version is a string like "14" for Sonoma, "15" for Sequoia
      # Convert it to a MacOS version symbol for comparison
      MacOSVersion.new(bottle_os_version.delete_prefix("macOS "))
    elsif Homebrew::SimulateSystem.current_os == :macos
      # Assume the oldest macOS version when simulating a generic macOS version
      # Version::NULL is always treated as less than any other version.
      Version::NULL
    else
      MacOSVersion.from_symbol(Homebrew::SimulateSystem.current_os)
    end

    since_os = begin
      MacOSVersion.from_symbol(since_os_bounds)
    rescue MacOSVersion::Error
      # If we can't parse the bound, it means it's an unsupported macOS version
      # so let's default to the oldest possible macOS version
      Version::NULL
    end
    return true if effective_os >= since_os
  end

  false
end

#uses_from_macos? ⇒ Boolean

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Boolean)


80
81
82
# File 'dependency/uses_from_macos_dependency.rb', line 80

def uses_from_macos?
  true
end

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/UsesFromMacOSDependency.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API