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- для каждого скомпилированного модуля вызывает коллбэк, передавая файл, модуль и байт-код модуля -
: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.4.5/Kernel.ParallelCompiler.html