Kernel.ParallelCompiler
Модуль, ответственный за компиляцию файлов параллельно.
Краткое описание
Функции
- files(files, options \\ [])
-
Компилирует заданные файлы
- files_to_path(files, path, options \\ [])
-
Компилирует заданные файлы в указанный путь. Подробнее см.
files/2
Функции
files(files, options \\ [])
Компилирует заданные файлы.
Файлы компилируются параллельно и могут автоматически обнаруживать зависимости между ними. Найдя зависимость, текущий файл приостанавливает компиляцию до разрешения зависимости.
Если во время компиляции возникает ошибка или если warnings_as_errors установлено в true, и есть предупреждение, эта функция завершится с исключением.
Эта функция принимает следующие параметры:
-
:each_file- для каждого скомпилированного файла вызывает обратный вызов, передавая файл -
:each_long_compilation- для каждого файла, компиляция которого занимает более заданного таймаута (см. параметр:long_compilation_threshold), вызывает этот обратный вызов, передавая файл в качестве аргумента -
:long_compilation_threshold- таймаут (в секундах) после вызова обратного вызова:each_long_compilation; по умолчанию10 -
:each_module- для каждого скомпилированного модуля вызывает обратный вызов, передавая файл, модуль и байткод модуля -
:each_warning- для каждого предупреждения вызывает обратный вызов, передавая файл, номер строки и сообщение о предупреждении -
:dest- целевая директория для файлов BEAM. При использованииfiles/2, эта информация используется только для правильной аннотации файлов BEAM перед их загрузкой в память. Если вы хотите, чтобы файл был фактически записан вdest, используйтеfiles_to_path/3.
Возвращает модули, сгенерированные каждым скомпилированным файлом.
files_to_path(files, path, options \\ [])
Компилирует заданные файлы в указанный путь. Подробнее см. files/2.
© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/elixir/1.5.3/Kernel.ParallelCompiler.html