Spec-Zone.ru › Homebrew

Модуль: EnvActivation Приватный

Подключает:
EnvSensitive, SharedEnvExtension
Включён в:
ENV, Sorbet::Private::Static::ENVClass
Определён в:
extend/ENV.rb,
extend/ENV.rbi

Обзор

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

Краткое описание констант

Константы, подключённые из CompilerConstants

CompilerConstants::COMPILERS, CompilerConstants::COMPILER_SYMBOL_MAP, CompilerConstants::GNU_GCC_REGEXP, CompilerConstants::GNU_GCC_VERSIONS

Константы, подключённые из EnvSensitive

EnvSensitive::DEFERRED_PLACEHOLDER_PREFIX, EnvSensitive::DEFERRED_PLACEHOLDER_SUFFIX

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

Атрибуты, подключённые из SharedEnvExtension

#bottle_arch, #build_bottle

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

  • #activate_extensions!(env: nil) ⇒ void приватный
  • #with_build_environment(env: nil, cc: nil, build_bottle: false, bottle_arch: nil, debug_symbols: false, &_block) ⇒ T.type_parameter(:U) приватный

Методы, подключённые из SharedEnvExtension

#[]=, #append, #append_path, #append_to_cccfg, #append_to_cflags, #append_to_rustflags, #cc, #cflags, #compiler, #cppflags, #cxx, #cxxflags, #effective_arch, #fc, #fcflags, #fflags, #fortran, #ldflags, #make_jobs, #permit_arch_flags, #prepend, #prepend_create_path, #prepend_path, #refurbish_args, #remove, #remove_cc_etc, #remove_from_cflags, #setup_build_environment

Методы, включённые из 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

Методы, включённые из OS::Linux::SharedEnvExtension

#effective_arch

Методы, включённые из OS::Mac::SharedEnvExtension

#setup_build_environment

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

#clear_sensitive_environment!, #clear_sensitive_environment_for_eval!, #expand_deferred_environment, #sensitive?, #sensitive_environment

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

#activate_extensions!(env: nil) ⇒ void

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

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

Параметры:

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


25
26
27
28
29
30
31
# File 'extend/ENV.rb', line 25

def activate_extensions!(env: nil)
  if superenv?(env)
    extend(Superenv)
  else
    extend(Stdenv)
  end
end

#with_build_environment(env: nil, cc: nil, build_bottle: false, bottle_arch: nil, debug_symbols: false, &_block) ⇒ T.type_parameter(:U)

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

Параметры:

  • env (String, nil) (по умолчанию: nil)
  • cc (String, nil) (по умолчанию: nil)
  • build_bottle (Boolean) (по умолчанию: false)
  • bottle_arch (String, nil) (по умолчанию: nil)
  • debug_symbols (Boolean, nil) (по умолчанию: false)
  • _block (T.proc.returns(T.type_parameter(:U)))

Возвращает:

  • (T.type_parameter(:U))


43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'extend/ENV.rb', line 43

def with_build_environment(env: nil, cc: nil, build_bottle: false, bottle_arch: nil, debug_symbols: false, &_block)
  old_env = to_hash.dup
  tmp_env = to_hash.dup.extend(EnvActivation)
  T.cast(tmp_env, EnvActivation).activate_extensions!(env:)
  T.cast(tmp_env, T.any(Superenv, Stdenv))
   .setup_build_environment(cc:, build_bottle:, bottle_arch:,
                            debug_symbols:)
  replace(tmp_env)

  begin
    yield
  ensure
    replace(old_env)
  end
end

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

Spec-Zone.ru

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