mix compile
The main entry point to compile source files.
It simply runs the compilers registered in your project and returns a tuple with the compilation status and a list of diagnostics.
Before compiling code, it loads the code in all dependencies and perform a series of checks to ensure the project is up to date.
Configuration
:compilers
- compilers to run, defaults toMix.compilers/0
, which are[:yecc, :leex, :erlang, :elixir, :app]
.:consolidate_protocols
- whentrue
, runs protocol consolidation via thecompile.protocols
task. The default value istrue
.:build_embedded
- whentrue
, embeds all code and priv content in the_build
directory instead of using symlinks.:build_path
- the directory where build artifacts should be written to. This option is intended only for child apps within a larger umbrella application so that each child app can use the common_build
directory of the parent umbrella. In a non-umbrella context, configuring this has undesirable side-effects (such as skipping some compiler checks) and should be avoided.
Compilers
To see documentation for each specific compiler, you must invoke help
directly for the compiler command:
mix help compile.elixir mix help compile.erlang
You can get a list of all compilers by running:
mix compile --list
Command line options
-
--erl-config
- path to an Erlang term file that will be loaded as Mix config -
--force
- forces compilation -
--list
- lists all enabled compilers -
--no-app-loading
- does not load applications (including from deps) before compiling -
--no-archives-check
- skips checking of archives -
--no-compile
- does not actually compile, only loads code and perform checks -
--no-deps-check
- skips checking of dependencies -
--no-elixir-version-check
- does not check Elixir version -
--no-protocol-consolidation
- skips protocol consolidation -
--no-validate-compile-env
- does not validate the application compile environment -
--return-errors
- returns error status and diagnostics instead of exiting on error
Summary
Functions
- compilers(config \\ Mix.Project.config())
Returns all compilers.
Functions
compilers(config \\ Mix.Project.config())
Returns all compilers.
© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/mix/1.11.2/Mix.Tasks.Compile.html