Spec-Zone.ru › Elixir 1.12

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 для получения дополнительной информации.

Краткое описание

Типы

status()

Функции

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

Spec-Zone.ru

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