Spec-Zone.ru › Homebrew

Класс: CoreTap Закрытый

Наследует:
AbstractCoreTap
  • Object
  • Tap
  • AbstractCoreTap
  • CoreTap
показать все
Определён в:
tap/core_tap.rb

Обзор

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

Специализированный класс Tap для основных формул.

Краткое описание констант свернуть

Cache =

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

type_member { { fixed: T::Hash[T.any(String, Symbol), T.untyped] } }
Elem =

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

type_member(:out) { { fixed: Tap } }

Константы, унаследованные от Tap

Tap::GITHUB_REMOTE_PREFIX_REGEX, Tap::HOMEBREW_TAP_JSON_FILES, Tap::NORMALIZE_REMOTE_HOSTS, Tap::REMOTE_HOST_REGEX, Tap::REMOTE_SCHEME_USERINFO_REGEX

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

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

#full_name, #full_repository, #git_repository, #name, #path, #repository, #user

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

  • #alias_dir ⇒ Pathname закрытый
  • #alias_file_to_name(file) ⇒ String закрытый
  • #alias_table ⇒ Hash{String => String} закрытый
  • #audit_exceptions ⇒ Hash{Symbol => T.untyped} закрытый
  • #autobump ⇒ Array<String> закрытый
  • #canonical_remote?(remote = self.remote) ⇒ Boolean закрытый

    Настроенный HOMEBREW_CORE_GIT_REMOTE — это официальный удалённый репозиторий для этого tap.

  • #core_tap? ⇒ Boolean закрытый
  • #ensure_installed! ⇒ void закрытый
  • #formula_dir ⇒ Pathname закрытый
  • #formula_files ⇒ Array<Pathname> закрытый
  • #formula_files_by_name ⇒ Hash{String => Pathname} закрытый
  • #formula_names ⇒ Array<String> закрытый
  • #formula_renames ⇒ Hash{String => String} закрытый
  • #initialize ⇒ void конструктор закрытый
  • #install(quiet: false, clone_target: nil, custom_remote: false, verify: false, force: false) ⇒ void закрытый

    CoreTap никогда не допускает поверхностное клонирование (по запросу GitHub).

  • #linuxbrew_core? ⇒ Boolean закрытый
  • #new_formula_path(name) ⇒ Pathname закрытый
  • #new_formula_subdirectory(name) ⇒ String закрытый
  • #remote ⇒ String? закрытый
  • #style_exceptions ⇒ Hash{Symbol => T.untyped} закрытый
  • #synced_versions_formulae ⇒ Array<Array<String>> закрытый
  • #tap_migrations ⇒ Hash{String => T.untyped} закрытый
  • #uninstall(manual: false) ⇒ void закрытый

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

#formula_file_to_name, #implicitly_trusted?, instance, #should_report_analytics?

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

#alias_files, #alias_reverse_table, #aliases, all, #allow_bump?, #allowed_by_env?, allowed_taps, #apply_redirected_remote!, #audit_exception, #cask_dir, #cask_file?, #cask_files, #cask_files_by_name, #cask_renames, #cask_reverse_renames, #cask_tokens, #clear_cache, #command_dir, #command_files, #config, #contents, #core_cask_tap?, core_taps, #custom_remote?, #default_remote, #disabled_new_usr_local_relocation_formulae, each, fetch, #fix_remote_configuration, #forbidden_by_env?, forbidden_taps, #formula_file?, #formula_file_to_name, #formula_reverse_renames, from_path, #git?, #git_branch, #git_head, #git_last_commit, #implicitly_trusted?, installed, #installed?, #issues_url, #link_completions_and_manpages, #matches_reference?, #new_cask_path, normalize_remote, #official?, #potential_formula_dirs, #prefix_to_versioned_formulae_names, #private?, #reference, #relative_cask_path, remote_reference?, #remote_repository, remote_to_reference, #repository_var_suffix, #reverse_tap_migrations_renames,

same_remote?, #shallow?, #should_report_analytics?, tap_list_references, tap_migration_oldnames, #to_hash, untapped_official_taps, #update_remote_from_git_redirect!, #uses_custom_remote?, with_cask_token, with_formula_name, #worktree_source_tap_path_for

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

#compact_blank, #exclude?

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

#cache, #clear_cache

Методы, включённые из Utils::Output::Mixin

#issue_reporting_message, #odebug, #odeprecated, #odie, #odisabled, #ofail, #oh1, #oh1_title, #ohai, #ohai_title, #onoe, #opoo, #opoo_outside_github_actions, #opoo_without_github_actions_annotation, #pretty_deprecated, #pretty_disabled, #pretty_duration, #pretty_install_status, #pretty_installed, #pretty_uninstalled, #pretty_upgradable, #pretty_warning

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

#initialize ⇒ void

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



12
13
14
# File 'tap/core_tap.rb', line 12

def initialize
  super "Homebrew", "core"
end

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

#alias_dir ⇒ Pathname

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

Возвращает:

  • (Pathname)


100
101
102
103
104
105
# File 'tap/core_tap.rb', line 100

def alias_dir
  @alias_dir ||= T.let(begin
    ensure_installed!
    super
  end, T.nilable(Pathname))
end

#alias_file_to_name(file) ⇒ String

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

Параметры:

  • file (Pathname)

Возвращает:

  • (String)


166
167
168
# File 'tap/core_tap.rb', line 166

def alias_file_to_name(file)
  file.basename.to_s
end

#alias_table ⇒ Hash{String => String}

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

Возвращает:

  • (Hash{String => String})


171
172
173
174
175
176
177
178
179
180
# File 'tap/core_tap.rb', line 171

def alias_table
  @alias_table ||= T.let(
    if Homebrew::EnvConfig.no_install_from_api?
      super
    else
      Homebrew::API.formula_aliases
    end,
    T.nilable(T::Hash[String, String]),
  )
end

#audit_exceptions ⇒ Hash{Symbol => T.untyped}

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

Возвращает:

  • (Hash{Symbol => T.untyped})


142
143
144
145
146
147
# File 'tap/core_tap.rb', line 142

def audit_exceptions
  @audit_exceptions ||= T.let(begin
    ensure_installed!
    super
  end, T.nilable(T::Hash[Symbol, T.untyped]))
end

#autobump ⇒ Array<String>

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

Возвращает:

  • (Array<String>)


134
135
136
137
138
139
# File 'tap/core_tap.rb', line 134

def autobump
  @autobump ||= T.let(begin
    ensure_installed!
    super
  end, T.nilable(T::Array[String]))
end

#canonical_remote?(remote = self.remote) ⇒ Boolean

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

Настроенный HOMEBREW_CORE_GIT_REMOTE является официальным удалённым репозиторием для этого tap.

Параметры:

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

Возвращает:

  • (Boolean)


32
33
34
# File 'tap/core_tap.rb', line 32

def canonical_remote?(remote = self.remote)
  remote.blank? || self.class.same_remote?(remote, Homebrew::EnvConfig.core_git_remote)
end

#core_tap? ⇒ Boolean

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

Возвращает:

  • (Boolean)


64
65
66
# File 'tap/core_tap.rb', line 64

def core_tap?
  true
end

#ensure_installed! ⇒ void

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

Этот метод возвращает неопределённое значение.



17
18
19
20
21
# File 'tap/core_tap.rb', line 17

def ensure_installed!
  return if ENV["HOMEBREW_TESTS"]

  super
end

#formula_dir ⇒ Pathname

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

Возвращает:

  • (Pathname)


74
75
76
77
78
79
# File 'tap/core_tap.rb', line 74

def formula_dir
  @formula_dir ||= T.let(begin
    ensure_installed!
    super
  end, T.nilable(Pathname))
end

#formula_files ⇒ Array<Pathname>

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

Возвращает:

  • (Array<Pathname>)


183
184
185
186
187
# File 'tap/core_tap.rb', line 183

def formula_files
  return super if Homebrew::EnvConfig.no_install_from_api?

  formula_files_by_name.values
end

#formula_files_by_name ⇒ Hash{String => Pathname}

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

Возвращает:

  • (Hash{String => Pathname})


197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
# File 'tap/core_tap.rb', line 197

def formula_files_by_name
  return super if Homebrew::EnvConfig.no_install_from_api?

  @formula_files_by_name ||= T.let(
    begin
      formula_directory_path = formula_dir.to_s
      Homebrew::API.formula_names.each_with_object({}) do |name, hash|
        # If there's more than one item with the same path: use the longer one to prioritise more specific results.
        existing_path = hash[name]
        # Pathname equivalent is slow in a tight loop
        new_path = File.join(formula_directory_path, new_formula_subdirectory(name), "#{name.downcase}.rb")
        hash[name] = Pathname(new_path) if existing_path.nil? || existing_path.to_s.length < new_path.length
      end
    end,
    T.nilable(T::Hash[String, Pathname]),
  )
end

#formula_names ⇒ Array<String>

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

Возвращает:

  • (Array<String>)


190
191
192
193
194
# File 'tap/core_tap.rb', line 190

def formula_names
  return super if Homebrew::EnvConfig.no_install_from_api?

  Homebrew::API.formula_names
end

#formula_renames ⇒ Hash{String => String}

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

Возвращает:

  • (Hash{String => String})


108
109
110
111
112
113
114
115
116
117
118
# File 'tap/core_tap.rb', line 108

def formula_renames
  @formula_renames ||= T.let(
    if Homebrew::EnvConfig.no_install_from_api?
      ensure_installed!
      super
    else
      Homebrew::API.formula_renames
    end,
    T.nilable(T::Hash[String, String]),
  )
end

#install(quiet: false, clone_target: nil, custom_remote: false, verify: false, force: false) ⇒ void

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

Этот метод возвращает неопределённое значение.

CoreTap никогда не допускает поверхностное клонирование (по запросу GitHub).

Параметры:

  • quiet (Boolean) (по умолчанию: false)
  • clone_target (Pathname, String, nil) (по умолчанию: nil)
  • custom_remote (Boolean) (по умолчанию: false)
  • verify (Boolean) (по умолчанию: false)
  • force (Boolean) (по умолчанию: false)

Вызывает исключения:

  • (TapCoreRemoteMismatchError)


41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'tap/core_tap.rb', line 41

def install(quiet: false, clone_target: nil,
            custom_remote: false, verify: false, force: false)
  remote = Homebrew::EnvConfig.core_git_remote # set by HOMEBREW_CORE_GIT_REMOTE
  requested_remote = clone_target || remote

  # The remote will changed again on `brew update` since remotes for homebrew/core are mismatched
  raise TapCoreRemoteMismatchError.new(name, remote, requested_remote) if requested_remote != remote

  if remote != default_remote
    $stderr.puts "HOMEBREW_CORE_GIT_REMOTE set: using #{remote} as the Homebrew/homebrew-core Git remote."
  end

  super(quiet:, clone_target: remote, custom_remote:, force:)
end

#linuxbrew_core? ⇒ Boolean

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

Возвращает:

  • (Boolean)


69
70
71
# File 'tap/core_tap.rb', line 69

def linuxbrew_core?
  remote_repository.to_s.end_with?("/linuxbrew-core") || remote_repository == "Linuxbrew/homebrew-core"
end

#new_formula_path(name) ⇒ Pathname

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

Параметры:

  • name (String)

Возвращает:

  • (Pathname)


91
92
93
94
95
96
97
# File 'tap/core_tap.rb', line 91

def new_formula_path(name)
  formula_subdir = new_formula_subdirectory(name)

  return super unless (formula_dir/formula_subdir).directory?

  formula_dir/formula_subdir/"#{name.downcase}.rb"
end

#new_formula_subdirectory(name) ⇒ String

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

Параметры:

  • name (String)

Возвращает:

  • (String)


82
83
84
85
86
87
88
# File 'tap/core_tap.rb', line 82

def new_formula_subdirectory(name)
  if name.start_with?("lib")
    "lib"
  else
    name[0].to_s
  end
end

#remote ⇒ String?

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

Возвращает:

  • (String, nil)


24
25
26
27
28
# File 'tap/core_tap.rb', line 24

def remote
  return super if Homebrew::EnvConfig.no_install_from_api?

  Homebrew::EnvConfig.core_git_remote
end

#style_exceptions ⇒ Hash{Symbol => T.untyped}

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

Возвращает:

  • (Hash{Symbol => T.untyped})


150
151
152
153
154
155
# File 'tap/core_tap.rb', line 150

def style_exceptions
  @style_exceptions ||= T.let(begin
    ensure_installed!
    super
  end, T.nilable(T::Hash[Symbol, T.untyped]))
end

#synced_versions_formulae ⇒ Array<Array<String>>

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

Возвращает:

  • (Array<Array<String>>)


158
159
160
161
162
163
# File 'tap/core_tap.rb', line 158

def synced_versions_formulae
  @synced_versions_formulae ||= T.let(begin
    ensure_installed!
    super
  end, T.nilable(T::Array[T::Array[String]]))
end

#tap_migrations ⇒ Hash{String => T.untyped}

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

Возвращает:

  • (Hash{String => T.untyped})


121
122
123
124
125
126
127
128
129
130
131
# File 'tap/core_tap.rb', line 121

def tap_migrations
  @tap_migrations ||= T.let(
    if Homebrew::EnvConfig.no_install_from_api?
      ensure_installed!
      super
    else
      Homebrew::API.formula_tap_migrations
    end,
    T.nilable(T::Hash[String, T.untyped]),
  )
end

#uninstall(manual: false) ⇒ void

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

Этот метод возвращает неопределённое значение.

Параметры:

  • manual (Boolean) (по умолчанию: false)


57
58
59
60
61
# File 'tap/core_tap.rb', line 57

def uninstall(manual: false)
  raise "Tap#uninstall is not available for CoreTap" if Homebrew::EnvConfig.no_install_from_api?

  super
end

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

Spec-Zone.ru

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