Как вернуть определенный код выхода из Mix Task?

Я пишу смешанную задачу, которая должна быть частью CI и должна останавливать процесс сборки в случае сбоя, что обычно делается с помощью коды выхода, где код 0 означает успех, а код, отличный от 0, означает ошибку. Я хотел бы иметь возможность возвращать произвольный код выхода, чтобы сигнализировать о различных типах сбоев.

Как бы я сделал это в Mix.Task? В документации для обратного вызова run/1 ничего не говорится о Это.


person nietaki    schedule 02.04.2018    source источник


Ответы (1)


Используйте exit/1. Например, размещение exit({:shutdown, 15}) внутри задачи микширования приведет к следующему:

$ mix compile && mix custom.task
$ echo $?
15
person nietaki    schedule 02.04.2018