Mix.Task.Compiler поведение
Этот модуль определяет поведение для задачи Mix, выполняющей компиляцию.
Задача Mix компилятора может быть определена, просто используя Mix.Task.Compiler в модуле, имя которого начинается с Mix.Tasks.Compile. и определением функции run/1:
defmodule Mix.Tasks.Compile.MyLanguage do
use Mix.Task.Compiler
def run(_args) do
:ok
end
end
Функция run/1 возвращает атом, указывающий статус компиляции, и необязательно также может возвращать список «диагностических сообщений», таких как предупреждения или ошибки компиляции. Это позволяет редакторам кода отображать проблемы прямо в коде, без необходимости анализа вывода командной строки.
Если компилятор использует файлы манифеста для отслеживания устаревших источников, он должен определить manifests/0, а если он записывает любой вывод на диск, он также должен определить clean/0.
Компилятор поддерживает те же атрибуты для конфигурации и документации, что и обычная задача Mix. Смотрите Mix.Task для получения дополнительной информации.
Краткое описание
Типы
Функции
- after_compiler(name, fun)
Добавляет обратный вызов, который выполняется после заданного компилятора.
Обратные вызовы
- clean()
Удаляет артефакты сборки и манифесты.
- manifests()
Отображает файлы манифеста для компилятора.
- run(list)
Получает аргументы командной строки и выполняет компиляцию. Если он генерирует ошибки, предупреждения или любую другую диагностическую информацию, он должен вернуть кортеж со статусом и списком диагностических сообщений.
Типы
status()Источник
Спецификации
status() :: :ok | :noop | :error
Функции
after_compiler(name, fun)Источник
Спецификации
after_compiler(
atom(),
({status(), [Mix.Task.Compiler.Diagnostic.t()]} ->
{status(), [Mix.Task.Compiler.Diagnostic.t()]})
) :: :ok Добавляет обратный вызов, который выполняется после заданного компилятора.
Обратный вызов вызывается после выполнения компилятора и получает кортеж с текущим статусом и списком диагностических сообщений. Он должен вернуть обновлённый статус и диагностические сообщения.
Обратные вызовы
clean()Источник
Спецификации
clean() :: any()
Удаляет артефакты сборки и манифесты.
manifests()Источник
Спецификации
manifests() :: [Path.t()]
Отображает файлы манифеста для компилятора.
run(list)Источник
Спецификации
run([binary()]) :: status() | {status(), [Mix.Task.Compiler.Diagnostic.t()]} Получает аргументы командной строки и выполняет компиляцию. Если он генерирует ошибки, предупреждения или любую другую диагностическую информацию, он должен вернуть кортеж со статусом и списком диагностических сообщений.
© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/mix/1.12.0/Mix.Task.Compiler.html