View Source mix do (Mix v1.17.0)

Executes the tasks separated by +:

$ mix do compile --list + deps

The plus should be followed by at least one space before and after.


The example below prints the available compilers and then the list of dependencies.

$ mix do compile --list + deps

Note that the majority of Mix tasks are only executed once per invocation. So for example, the following command will only compile once:

$ mix do compile + some_other_command + compile

When compile is executed again, Mix will notice the task has already ran, and skip it.

Inside umbrella projects, you can limit recursive tasks (the ones that run inside every app) by selecting the desired application via the --app flag after do and before the first task:

$ mix do --app app1 --app app2 compile --list + deps

Elixir versions prior to v1.14 used the comma exclusively to separate commands:

$ mix do compile --list, deps

Since then, the + operator has been introduced as a separator for better support on Windows terminals.

Command line options

  • --app - limit recursive tasks to the given apps. This option may be given multiple times and must come before any of the tasks.