Класс: Formulary::FromBottleLoader Частный
- Наследует:
- FormulaLoader
- Object
- FormulaLoader
- Formulary::FromBottleLoader
- Подключает:
- Utils::Output::Mixin
- Определён в:
- formulary.rb
Обзор
Этот класс является частью закрытого API. Этот класс можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого класса, поскольку он может быть удалён или изменён без предупреждения.
Загружает формулу из бутылки.
Краткое описание атрибутов экземпляра
Атрибуты, унаследованные от FormulaLoader
#alias_path, #name, #path, #tap
Краткое описание методов класса свернуть
Краткое описание методов экземпляра свернуть
- #get_formula(spec, alias_path: nil, force_bottle: false, flags: [], ignore_errors: false) ⇒ Formula частный
- #initialize(bottle_name, warn: false) ⇒ void конструктор частный
Методы, включённые из 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
Методы, унаследованные от FormulaLoader
Методы, включённые из Context
current, current=, #debug?, #quiet?, #verbose?, #with_context
Подробное описание конструкторов
#initialize(bottle_name, warn: false) ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 | # File 'formulary.rb', line 541 def initialize(bottle_name, warn: false) @bottle_path = T.let(Pathname(bottle_name).realpath, Pathname) name, full_name = Utils::Bottles.resolve_formula_names(@bottle_path) tap, = Tap.with_formula_name(full_name) # We might not have tap information with --only-json-tab bottles. # In this scenario we make a best effort guess, assuming Homebrew/core # unless we find it in another tap we have installed. fallback_path = Formulary.path(full_name) tap ||= Tap.from_path(fallback_path) # Mimic a Cellar path to simulate relaxed deprecation behaviour shared with postinstalls. version = Utils::Bottles.resolve_version(@bottle_path) @cellar_formula_path = T.let(HOMEBREW_CELLAR/name/version/".brew"/"#{name}.rb", Pathname) super name, fallback_path, tap: end |
Подробное описание методов класса
.try_new(ref, from: nil, warn: false) ⇒ T.attached_class?
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
532 533 534 535 536 537 538 | # File 'formulary.rb', line 532 def self.try_new(ref, from: nil, warn: false) return if Homebrew::EnvConfig.forbid_packages_from_paths? ref = ref.to_s new(ref) if HOMEBREW_BOTTLES_EXTNAME_REGEX.match?(ref) && File.exist?(ref) end |
Подробное описание методов экземпляра
#get_formula(spec, alias_path: nil, force_bottle: false, flags: [], ignore_errors: false) ⇒ Formula
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 | # File 'formulary.rb', line 568 def get_formula(spec, alias_path: nil, force_bottle: false, flags: [], ignore_errors: false) formula = begin contents = Utils::Bottles.formula_contents(@bottle_path, name:) Formulary.from_contents(name, @cellar_formula_path, contents, spec, tap:, force_bottle:, flags:, ignore_errors:) rescue FormulaUnreadableError => e opoo <<~EOS Unreadable formula in #{@bottle_path}: #{e} EOS super rescue BottleFormulaUnavailableError => e opoo <<~EOS #{e} Falling back to non-bottle formula. EOS super end formula.local_bottle_path = @bottle_path formula end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Formulary/FromBottleLoader.html