View Source mix deps.compile (Mix v1.12.0)

Compiles dependencies.

By default, compile all dependencies. A list of dependencies can be given to compile multiple dependencies in order.

This task attempts to detect if the project contains one of the following files and act accordingly:

  • mix.exs - invokes mix compile
  • rebar.config - invokes rebar compile
  • Makefile.win- invokes nmake /F Makefile.win (only on Windows)
  • Makefile - invokes gmake on DragonFlyBSD, FreeBSD, NetBSD, and OpenBSD, invokes make on any other operating system (except on Windows)

The compilation can be customized by passing a compile option in the dependency:

{:some_dependency, "0.1.0", compile: "command to compile"}

If a list of dependencies is given, Mix will attempt to compile them as is. For example, if project a depends on b, calling mix deps.compile a will compile a even if b is out of date. This is to allow parts of the dependency tree to be recompiled without propagating those changes upstream. To ensure b is included in the compilation step, pass --include-children.

Command line options

  • --force - force compilation of deps
  • --skip-umbrella-children - skips umbrella applications from compiling
  • --skip-local-deps - skips non-remote dependencies, such as path deps, from compiling