Spec-Zone.ru › Homebrew

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

Расширен модулем:
T::Helpers
Определён в:
language/perl.rb

Обзор

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

Вспомогательный модуль для замены шебангов perl.

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

PERL_SHEBANG_REGEX =

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

Регулярное выражение для сопоставления возможных вариантов шебанга.

%r{\A#! ?(?:/usr/bin/(?:env )?)?perl( |$)}
PERL_SHEBANG_MAX_LENGTH =

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

Длина самого длинного шебанга, соответствующего SHEBANG_REGEX.

T.let("#! /usr/bin/env perl ".length, Integer)

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

  • .detected_perl_shebang(formula = T.cast(self, Formula)) ⇒ Utils::Shebang::RewriteInfo приватный

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

.detected_perl_shebang(formula = T.cast(self, Formula)) ⇒ Utils::Shebang::RewriteInfo

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

Параметры:

  • formula (Formula) (по умолчанию: T.cast(self, Formula))

Возвращает:

  • (Utils::Shebang::RewriteInfo)

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

  • (ShebangDetectionError)


36
37
38
39
40
41
42
43
44
45
46
47
# File 'language/perl.rb', line 36

def detected_perl_shebang(formula = T.cast(self, Formula))
  perl_deps = formula.declared_deps.select { |dep| dep.required? && dep.name == "perl" }
  raise ShebangDetectionError.new("Perl", "formula does not depend on Perl") if perl_deps.empty?

  perl_path = if perl_deps.any? { |dep| !dep.uses_from_macos? || !dep.use_macos_install? }
    Utils::Path.formula_opt_bin("perl")/"perl"
  else
    "/usr/bin/perl#{MacOS.preferred_perl_version}"
  end

  perl_shebang_rewrite_info(perl_path)
end

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

Spec-Zone.ru

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